父類子類
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...