一、物件導向特徵之三:多型性
1.理解多型性:可以理解為乙個事物的多型性
2什麼是多型性:.
物件的多型性:父類的引用指向子類的物件(或子類的物件賦給父類的引用)
例: person p2=new man();
3.多型的使用:當呼叫子父類同名同引數的方法時,實際上是子類重寫父類的方法—虛擬方法呼叫。
有了物件的多型性以後,我們在編譯期,只能呼叫父類中宣告的方法,但在執行期,我們實際執行的是子類重寫父類的方法。
4.總結:編譯,看左邊;執行,看右邊。
5.多型性的使用的前提:
1⃣️類的繼承關係;
2⃣️要有方法的重寫;
package tttt;
public
class
person
public
void
walk()
}public
class
manextends
person
public
void
eat(
)public
void
walk()
}public
class
woman
extends
person
public
void
eat(
)public
void
walk()
}public
class
persontest
}
二、多型性的使用舉例一:
package aaaa;
public
class
animaltest
public
void
func
(animal animal)
}class
animal
public
void
shout()
}class
dogextends
animal
public
void
shout()
}classn cat entends animal
public
void
shout()
}
舉例二:
class
order
}
舉例三:
class
driver
}
三、多型性不適用於屬性
1.物件的多型性只適用於方法,不適用於屬性。
2.編譯,看左邊;執行,看右邊。(只適用於方法)
3.屬性是編譯、執行都看左邊。
java學習筆記 多型性
多型性 可以理解為乙個事物的多種表現形態 屬性不存在覆蓋的情況,所以不具有多型性。多型性的體現 1 方法的過載與重寫 2 子類物件的多型性 父類的引用指向子類物件person p new subperson 向上轉型 虛擬方法呼叫 通過父類的引用指向子類的物件實體,所以在方法呼叫時,實際執行的是子類...
C 的多型性 筆記
第一節課 分類 靜態多型 函式的過載和運算子過載屬於靜態多型,復用函式名 動態多型 派生類和虛函式實現執行時多型。靜態多型和動態多型區別 include using namespace std 多型 動物類 class animal 派生類貓類 class cat public animal 執行說...
C 學習 多型性
多型性是指為乙個函式名關連多種含義的能力。具體來說,多型性指的是通過名為 晚期繫結 的一種特殊機制來為函式名稱關聯多個含義。多型性是物件導向程式設計的核心概念之一。這裡先舉乙個例子來,定義乙個基類figure類,基類中有個成員函式center,作用是將乙個圖形放在介面中心,具體實現是先呼叫刪除函式,...