物件導向 多型

2021-08-03 20:50:34 字數 2222 閱讀 9729

/*

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

人:男人,女人

動物:貓,狗。

貓 x = new 貓();

動物 x = new 貓();

1,多型的體現

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

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

2,多型的前提

必須是類與類之間有關係。要麼繼承,要麼實現。

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

3,多型的好處

多型的出現大大的提高程式的擴充套件性。

4,多型的弊端:

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

5,多型的應用

6,多型的出現**中的特點(多型使用的注意事項)

第二個問題:如何使用子類特有方法。

*//*

動物,貓,狗。

*/class cat extends animal

public void catchmouse() }

class dog extends animal

public void kanjia() }

class pig extends animal

public void gongdi() }

//-----------------------------------------

class duotaidemo2

public static void function(animal a)//animal a = new cat();

else

*/if(a instanceof cat)

else if(a instanceof dog)

/*instanceof : 用於判斷物件的型別。 物件 intanceof 型別(類型別 介面型別)

*/ }

}

/*

基礎班學生:

學習,睡覺。

高階班學生:

學習,睡覺。

可以將這兩類事物進行抽取。

*/abstract class student

}class dostudent }

class basestudent extends student

public void sleep() }

class advstudent extends student

}class duotaidemo3

}

class fu

void method2()

static void method4()

}

class zi extends fu

void method3()

static void method4() }

class duotaidemo4

}

/*

需求:電腦執行例項,

電腦執行基於主機板。

*/inte***ce pci

class mainboard

public void usepci(pci p)//pci p = new netcard()//介面型引用指向自己的子類物件。 }

}class netcard implements pci

public void close()

}class soundcard implements pci

public void close() }

/*class mainboard

public void usenetcard(netcard c) }

class netcard

public void close() }

*/class duotaidemo5

}

物件導向 多型

繼承是多型的基礎,是指物件的多種形態 1.引用的多型 1 父類的引用可以指向本類的物件 2 父類的引用可以指向子類的物件 注意 子類的引用不能指向父類的物件 2.方法的多型 1 建立本類物件時,呼叫的方法是本類的方法 2 建立子類物件時,呼叫的方法是子類重寫的方法或是繼承的方法 注意 如果是子類獨有...

物件導向 多型

多型可以簡單的概括為 乙個介面,多種方法 在程式執行過程中才決定呼叫的函式,簡單的說就是,允許將子類型別的指標賦值給父類型別的指標,賦值後,父類物件就可以根據當前賦給它的子類物件的特徵以不同的方式執行。容易混淆的兩個概念 是指允許存在多個同名的函式,而這些函式的參數列不同 或許引數個數不同,或許引數...

物件導向 多型

多型 引用變數具體會所指向哪個類的例項物件,以及發出的方法呼叫的是哪個類中的方法 必須執行時才能確定。父類引用 子類物件 自動向上轉型 呼叫方式時 只能呼叫父類的方法 子類重寫了,就是呼叫子類的。呼叫子類重寫的沒有,沒有就去呼叫繼承的父類方法。不能多繼承其實就是這個原因。a a new b this...