c 多型實現的方式

2022-09-03 21:51:20 字數 1405 閱讀 1357

1.多型概念:讓乙個物件能夠表現出多種狀態(型別)

實現多型的條件:類必須具有繼承。

2.實現多型的三種方法: 1)虛方法  2)抽象類 3)介面

步驟:1)在父類的返回型別前加virtual ,表示成虛方法

2)在子類的返回型別前加override,表示將父類的方法重新寫一遍。

per[i].sayhello();//per[i]呼叫的是父類的方法,因為在子類中將其方法重寫,故根據per[i]代表的是哪個子類物件,就表現出哪個子類的方法。

2).抽象類

當父類中的方法不知道如何去實現的時候,可以考慮將父類寫成抽象類,將方法寫成抽象方法。

抽象類用abstract修飾,抽象方法在返回型別加abstract修飾。且抽象方法沒有方法體。

抽象類和介面是不允許建立自身物件的。

static void main(string args)

}//定義抽象類

public abstract class animal

public class cat:animal

}public class dog : animal

}1.抽象成員必須標記為abstract,並且不能有任何實現。

2,抽象成員必須在抽象類中。

3.抽象類不能被例項化(靜態類也不能例項化)

4.子類繼承抽象類後,必須把父類中的所有抽象成員重寫。(除非子類以為乙個抽象類,則可以不重寫)

5.抽象成員的訪問修飾符不能是private。

因為抽象成員只能被子類物件訪問,故抽象成員用private修飾則不能被訪問

6.在抽象類中可以包含例項成員,並且抽象類的例項成員可以不被子類實現。

7.抽象類是有建構函式,雖然不能被例項化

8.如果父類的抽象方法中有返回值,那麼子類在重寫這個抽象方法的時候,也必須要傳入返回值。

9.抽象類中可以定義虛方法,抽象類中的虛方法用來實現其他方面的多型。

如果父類中的方法有預設的實現,並且父類需要被例項化,這時可以將父類定義成乙個普通類,如果父類中的方法沒有預設實現,父類也不需要被例項化,則可以將該類定義為抽象類、。

2例項#region//經理11點打卡  員工9點打卡  程式設計師不打卡

employee em = new employee();

manager ma = new manager();

cxyuan cx = new cxyuan();

employee emplo = new employee ;

for (int i = 0; i < emplo.length; i++)

#endregion

public class employee

}public class manager :employee

}public class cxyuan:employee

}

C 多型實現方式詳情

在我們之前介紹的繼承的情況當中,派生類呼叫基類的方法都是不做任何改程式設計客棧動的呼叫。但有的時候會有一些特殊的情況,我們會希望同乙個方法在不同的派生類當中的行為是不同的。舉個簡單的例子,比如speak方法,在不同的類當中的實現肯定是不同的。如果是human類,就是正常的說話,如果是dog類可能是汪...

C 多型 以及實現多型的三種方式

實實在在說多型 c 篇 1.什麼是多型.1 2.多型帶來的好處.1 3.c 中實現多型的方式.1 4.細說用函式過載實現的多型.2 5.細說用模板函式實現的多型.3 6.小結.4 7.細說用虛函式實現的多型.4 7.1.虛函式是怎麼回事.4 7.2.向上轉型.5 7.3.為什麼要用指標或引用來實現動...

JAVA多型的實現方式

多型從實現的角度分為 靜態多型和動態多型 靜態多型也叫做編譯時多型 動態多型也叫做執行時多型 函式過載是靜態的多型的一種實現形式 舉例說明 class methodoverloading viod receive float f viod receive string s 方法過載是在編譯時就已經確...