C#中子類是如何調(diào)用父類的?帶著這個(gè)問(wèn)題,體驗(yàn)如下:
□ 通過(guò)子類無(wú)參構(gòu)造函數(shù)創(chuàng)建子類實(shí)例
創(chuàng)建父類Person和子類Student。
public class Person{public Person(){Console.WriteLine("我是人");}}public class Student : Person{public Student(){Console.WriteLine("我是學(xué)生");}}
在客戶端通過(guò)子類無(wú)參構(gòu)造函數(shù)創(chuàng)建子類實(shí)例。
class PRogram{static void Main(string[] args){Student student = new Student();Console.ReadKey();}}
輸出結(jié)果:我是人我是學(xué)生
可見(jiàn):通過(guò)調(diào)用子類無(wú)參構(gòu)造函數(shù)創(chuàng)建子類實(shí)例,會(huì)默認(rèn)調(diào)用父類無(wú)參構(gòu)造函數(shù)。
如果把父類的無(wú)參構(gòu)造函數(shù)去掉,會(huì)怎樣呢?--結(jié)果會(huì)報(bào)"Person不包含0個(gè)參數(shù)的構(gòu)造函數(shù)"錯(cuò)。
□ 通過(guò)子類有參構(gòu)造函數(shù)創(chuàng)建子類實(shí)例
再同時(shí)為子類和父類添加有參構(gòu)造函數(shù)。
public class Person{public Person(){Console.WriteLine("我是人");}public Person(string name){Console.WriteLine("我是人,我的名字叫{0}", name);}}public class Student : Person{
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注