绪论
说到构造函数,我的前文已经向大家介绍了java的构造方法之应用,总结一句话:构造方法就是为数据成员初始化的!但大家注意了吗?我们的构造方法都是单一的,要么针对基类自己的成员赋值,要么针对子类自己的成员初始化赋值;但是在C#中,有一个特别的功能:子类构造方法可以同时为父类构造方法进行初始化。
这个有什么用吗?其实这样使用笔者感觉更为方便灵活,在特殊情况下,基类属性如果是public
或protected
,那么子类可以修改基类数据成员的值,减轻了管理顶层设计程序员的压力。当然压力对于大家都是此消彼长的,管理模块化的程序员们压力又大了,但这也预示着程序的高效管理与应用!
一.派生类构造方法如何给基类构造方法传参赋值
这其实就用了一个关键字:Base
让我们看一个简单应用案例:
public class Student{ protected string name; protected int age; public Student(string name, int age) { this.name = name; this.age = age; } }
注意在这里我们的基类构造方法就是这个有参的构造方法:
public Student(string name, int age) { this.name = name; this.age = age; } }
接下来就是写一个派生类了:
里面写的第一个则为无参的构造方法,通过base
关键字将参数传到了基类构造方法里
public class Undergraduate : Student{ protected string subject; public Undergrauate(): base("无名", 0){ subject = "未知"; } }