黑馬程式設計師 關於學習多型時的一些理解

2021-06-17 15:34:02 字數 1140 閱讀 1918

---------------------- asp.net+android+io開發s、.net培訓、期待與您交流! ----------------------

什麼是多型,可以理解為事物存在的多種體現形態

比如:人:男人,女人

動物:貓,狗

如果貓是動物的一種的話,可以這麼寫

動物 x=new 貓();

abstact class animal		//建立乙個抽象父類 animal

class cat extends anamal //貓繼承動物父類

public void catchmouse() }

class dog extends animal //狗繼承動物父類

public void kanjia() }

class duotaidemo

public static void function(animal a)

else if(a instanceof dog)

}}

animal a =new cat();

//型別提公升。把貓提公升為動物,稱為向上轉型

如果想要呼叫貓特有的方法時,如何操作?

強制將父類的引用,轉成子類型別。向下轉型

cat c =(cat)a;

1,多型的基本體現

父類的引用指向了自己的子類物件

父類的引用也可以接受自己的子類物件

2,多型的前提

類與類之間要麼繼承,要麼實現

通常還有乙個前提:存在覆蓋

3,多型的好處

提高**的復用性

4,多型的弊端

提高了擴充套件性,但是只能使用父類的引用訪問父類的成員

多型中成員函式的特點:

在編譯時期,參閱引用型變數所屬的類中是否有呼叫的方法,如果有,編譯通過

在執行時期:參閱的是物件所屬的類中是否有呼叫的方法。

簡單總結就是:成員函式在多型呼叫時,編譯看左邊,執行看右邊

多型中,成員變數的特點:

無論編譯和執行都參考左邊(引用型變數所屬的類)

---------------------- asp.net+android+ios開發、.net培訓、期待與您交流! ----------------------

黑馬程式設計師對於this的一些隨筆

asp.net android io開發s net培訓 期待與您交流!this用在構造器中,當使用不同引數列表的構造器時,如果有構造器和另外乙個構造器的功能一樣,則這個構造器可以呼叫那個構造器的功能使用 格式 this value class test test 空引數的建構函式 test data...

關於程式設計師學習的一些想法

今天打算水一片文章 表達一下關於學習方面的的想法 新技術不斷的出現,幾乎每時每刻都有新技術的出現,而人的一生和精力是有限的,不可能將所有的技術都學完,那麼在每個人學習時間都相同的條件下,技術的高低也就是取決於學習效率了。或者說為什麼別人學的快,自己學到慢。在丟擲腦子方面的影響因素,其實大部分都取決與...

黑馬程式設計師 學習筆記11 多型

windows phone 7手機開發 net培訓 期待與您交流!多型 是一種抽象的概念,是乙個物件可以有多種表現形式!而對於多型怎麼去實現 1 過載與隱藏基類 2 抽象類與虛方法 倆者的區別是乙個需要去實現,乙個不需要自己去實現由子類去例項化 3 介面 介面是一種約定,物件的特徵或行為,對於乙個集...