c 的繼承與虛方法,子類父類間關係

2021-10-07 10:09:41 字數 1245 閱讀 4260

父類子類

1.子(右)從父(左)來,父(左)看不到子(右)

class

base1

}class

base2

:base1

}static

void

main

(string

args)

//輸出結果為:base1===method1

2.正常的子類

class

program

}class

base2

:base1

}static

void

main

(string

args)

}//結果是:base2===method1

3.如果想要父看得到子的話,可以用虛方法(virtual)

class

program

}class

base2

:base1

}static

void

main

(string

args)

}//結果為:base2===method1

4.如果想要父看得到子的話,可以用虛方法(virtual)

class

program

}class

base2

:base1

}static

void

main

(string

args)

}//結果為:base2===method1

5.如果多重繼承

class

program

}class

base2

:base1

}class

base3

:base2

static

void

main

(string

args)

}//結果還是:base2===method1

//因為base3是從base2繼承來的

ps:

1.override重寫,只能重寫用virtual、abstract修飾的方法

2.new隱藏、覆蓋,派生類可以隱藏基類中的方法(包括虛方法和普通方法)

c 父類與子類間的繼承關係

父類與子類的相互轉換 1 派生類的物件可以賦給基類,反之不行 2 基類的指標可以指向派生類,反之不行 3 基類的引用可以初始化為派生類的物件,反之不行 4 派生類指標必須強制轉換為基類指標後才可以指向基類 5 基類指標轉換為派生類指標容易導致崩潰性錯誤 6 虛基類的引用或派生不能轉換為派生類 cla...

C 中父類與子類的繼承關係

c 中的父類與子類的繼承關係與c和c 中的類似,這裡先闡述最重要的一點 假如子類繼承了父類,那麼子類可以強制轉換為父類,並且保證編譯和執行都不出錯 但是父類強制轉換成子類的時候,編譯可以通過執行通不過。請看如下 using system using system.collections.generi...

C 中父類與子類的繼承關係

c 中的父類與子類的繼承關係與c和c 中的類似,這裡先闡述最重要的一點 假如子類繼承了父類,那麼子類可以強制轉換為父類,並且保證編譯和執行都不出錯 但是父類強制轉換成子類的時候,編譯可以通過執行通不過。請看如下 using system using system.collections.generi...