构造函数它主要用于为对象分配存储空间,对数据成员进行初始化.
对于构造函数可以看下面:
构造函数的名字必须与类同名;
构造函数没有返回类型,它可以带参数,也可以不带参数;
构造函数可重载,默认没有参数,有参数的提供构造函数,必须自己来写没参数的构造函数
引用父类构造时用():base()方法,引用自身重载的构造使用():this(para).
你这种情况应该属于最后一种,引用自身引用自身重载的构造使用
因为这段代码的参数“: this(name, gender, age, hobby, 100) { }”
与 public Student(string name, Genders gender, int age, string hobby, int popularity)
参数类型相同,所实现的构造也差不多,只是需要输入4个参数即可,最后一个popularity参数默认为100而已
继承有那么一点点,因为派生类初始化的时候,先初始化父类的构造函数。
对于,引用父类构造时用():base()方法
class ParentClass
{ private int x;
public ParentClass( ) { x = 0; }
public ParentClass( int i ) { x = i; }
};
class childClass : ParentClass
{ private int y;
public childClass ( ) { y = 0; }
public childClass ( int i ) { y = i; }
public childClass ( int i, int j ):A(i) { y = j; }
};
childClass c1 = new childClass (); //执行基类ParentClass的构造函数ParentClass(),再执行派生类的构造函数childClass ()
childClass c2 = new childClass (1); //执行基类ParentClass的构造函数ParentClass(),再执行派生类的构造函数childClass (int)
childClass c3 = new childClass (0,1); //执行执行基类ParentClass的构造函数A(int) ,再执行派生类的
对不对敲敲代码吧!若不还请多指教 |