黑馬程式設計師 物件導向 多型

2021-06-22 18:23:27 字數 1515 閱讀 5861

---------------------- 

asp.net+unity開發

、.net培訓

、期待與您交流! ---------------------- 多型

:可以理解為事物存在的多種體現形態。

父類的引用指向子類的物件。

1.多型的體現

父類的引用指向子類的物件,父類的引用接收子類的物件。

2.多型的前提

類與類之間必須是繼承或者實現的關係。通常還有乙個前提 就是覆蓋

3.多型的好處

大大的提高了程式的擴充套件性

4.多型的弊端

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

5.多型的應用

6.多型中成員的特點

a)非靜態成員函式:在編譯時期,參閱引用型變數所屬的類中是否有呼叫的方法。如果有,編譯通過,如果沒有編譯失敗。

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

總結,成員函式在多型呼叫的時候,編譯看左邊父類,執行看右邊子類。

b)成員變數:無論編譯和執行,都參考左邊父類。

c)靜態成員函式:無論編譯和執行都參考左邊父類。

如何使用子類特有方法:多型轉型。

animal  a=new cat();//型別提公升,向上轉型。

a.eat();//父類的共有方法。

如果要呼叫cat的特有方法的時候 ,就必須將父類的引用轉成子類的型別,但是不能將父類物件轉成子類型別,轉換的是父類的引用,(就是父類的變數)

cat c=(cat)a;

c.catchmouse();//子類的特有方法。

事例:/*

* 基礎班學生:

*   學習 、睡覺

* 高階班學生

*   學習、睡覺

* */

abstract class student

}class jichu extends student

public static void sleeps()

}class gaoji extends student

public static void sleeps()

}class dostudent

}public class duotai }

需求:電腦執行例項(電腦執行基於主機板)。

inte***ce pci

class mainboard

public void usepci(pci p)

} }

class netcard implements pci

public void close() }

public class duotai

}

---------------------- 

asp.net+unity開發

、.net培訓

、期待與您交流! ----------------------

黑馬程式設計師 《物件導向 多型 03

asp.net android ios開發 net培訓 期待與您交流!多型 某一類事物的多種存在形態 因為有的繼承,所以有了父類和子類關係,那麼就提現出來了多型的特性。當一類事物之間肯定有存在某種關係,例如兒子和父親,學生和人,工人和人,那麼他們也有共性,那麼當我們劃分的越細,那麼子類就越多,那麼我...

黑馬程式設計師 09物件導向 4 多型

asp.net android ios開發 net培訓 期待與您交流!多型 事物的多種體現形態 體現 父類引用指向自己的子類物件 fu f new zi f.方法 好處 極大提高程式的擴充套件性 前提 必須是類與類之間有關係,繼承 extends 或者是實現 implements 通常存在覆蓋,只能...

黑馬程式設計師 C 物件導向之多型

asp.net unity開發 net培訓 期待與您交流!把一組相關的物件放到乙個陣列或集合中,然後呼叫它們名字相同的方法,在這種情況下,物件導向的多型性就體現出來了,這些物件可以不是相同型別的物件。如果它們都繼承自某乙個類,可以把這些派生類的物件放到乙個陣列中。如果這些物件都有同名方法,也可以呼叫...