1. 程式人生 > >談談你對面向物件的理解?

談談你對面向物件的理解?

所謂的面向物件就是將我們的程式模組化,物件化,把具體事物的特性屬性和通過這些屬性來實現一些動作的具體方法放到一個類裡面,這就是封裝。封裝是我們所說的面相物件程式設計的特徵之一。除此之外還有繼承和多型。繼承有點類似與我們生物學上的遺傳,就是子類的一些特徵是來源於父類的,兒子遺傳了父親或母親的一些性格,或者相貌,又或者是運動天賦。有點種瓜得瓜種豆得豆的意思。面向物件裡的繼承也就是父類的相關的屬性,可以被子類重複使用,子類不必再在自己的類裡面重新定義一回,父類裡有點我們只要拿過來用就好了。而對於自己類裡面需要用到的新的屬性和方法,子類就可以自己來擴充套件了。當然,會出現一些特殊情況,就是我們在有一些方法在父類已經定義好了,但是子類我們自己再用的時候,發現,其實,我們的雖然都是計算工資的,但是普通員工的工資計算方法跟經理的計算方法是不一樣的,所以這個時候,我們就不能直接呼叫父類的這個計算工資的方法了。這個時候我們就需要用到面向物件的另一個特性,多型
。對,就是多型,我們要在子類裡面把父類裡面定義計算工資的方法在子類裡面重新實現一遍。多型包含了過載和重寫。重寫很簡單就是把子類從父親類裡繼承下來的方法重新寫一遍,這樣,父類裡相同的方法就被覆蓋了,當然啦,你還是可以通過super.CaculSalary方法來呼叫父類的工資計算方法。而過載就是類裡面相同方法名,不同形參的情況,可以是形參型別不同或者形參個數不同,或者形參順序不同,但是不能使返回值型別不同。