父類例項化子類

2021-07-10 12:41:06 字數 465 閱讀 4924

最近在琢磨c#的時候,經常發現類似這樣的例子:

public class people

public class man : people

我想問一下,在實際的程式設計中,會有這樣的需要嗎?請有經驗的人說說看.

有這樣的需要的,比如people類有乙個run方法,man和woman這兩個類都是繼承自people的類,並且都重寫(override)了run這個方法(男人女人跑起步來不一樣).

現在有一群人一起跑步,有男人有女人.

我們可以把這些都裝進乙個people陣列(假設為peoples).

然後foreach(people p in peoples)

由於多型性,在呼叫p.run()的時候p物件本身如果是男人就會自動呼叫男人的run方法,是女人就會呼叫女人的run方法.

還有許多地方需要用到多型性的,建議你記住,以後遇到了自然就想通了.

初始化子類, 父類的建立次數

兩個類同時繼承乙個父類,在建立兩個子類的時候,父類是被建立兩次的.測試 如下 父類public class superclass 子類1 public class subclass1 extends superclass 子類2 public class subclass2 extends supe...

QT中用父類建構函式初始化子類的成員變數

2010 12 21 20 44 派生子類會繼承基類的所有成員,除了建構函式和析構函式。也就是說子類是無法繼承父類的建構函式和析構函式的.因此,子類對於從父類繼承過來的成員變數,若不想自己寫建構函式初始化時,就只能先初始化父類中的成員變數,然後再繼承過來。如以下程式中 子類student1中的構造方...

QT中用父類建構函式初始化子類的成員變數

分類 c 技術總結 2012 02 27 17 11 998人閱讀收藏 舉報 qtstring class 2010 2010 12 21 20 44 派生子類會繼承基類的所有成員,除了建構函式和析構函式。也就是說子類是無法繼承父類的建構函式和析構函式的.因此,子類對於從父類繼承過來的成員變數,若不...