先讓我知道面向對象的三個特性:
封裝
封裝是把客觀事物封裝成抽象的類,并且類可以把自己的數據和方法只讓可信的類或者對象操作,對不可信的進行信息隱藏。換而言之,類是一個封裝了它自身數據和操作這些數據的代碼的抽象。在類內部,某些代碼或某些數據可以是私有的,不能被外界訪問;也可以是私有的,能夠被外界訪問。以此可以防止代碼中意外改變或錯誤使用了類的私有部分。繼承
繼承是讓某個類獲得另一個類的屬性和方法。它可以使用現有類的除了私有以外的所有功能,不需要重新編寫原來的類的情況下對這些功能進行擴展。通過繼承創建的新類稱為“子類”,被繼承的類稱為“父類”。繼承概念的實現方式有兩種:實現繼承和接口繼承。實現繼承是直接使用父類的屬性和方法而不需要額外的編碼;接口繼承是僅使用屬性和方法的名稱,但子類必須實現父類的方法。多態
多態是一個類實例的相同方法在不同情形有不同表現形式。多態機制使具有不同內部結構的對象可以共享相同的外部接口。這意味著,雖然針對不同對象的具體操作不同,但通過一個公共的接口,它們可以通過相同的方式予以調用。多態概念的實現方式有兩種:重載和重寫。重載是同一個類中有多個同名的方法,但是這些方法有著不同的參數,方法的內部實現也不同;重寫是子類可以覆蓋父類的方法,因此同樣的方法會在父類和子類中有著不同的內部實現。