1.当写好一个类以后,默认会存在一个没有参数的构造函数(即便我们不写构造函数,也会存在这么一个无参的构造函数)
2. 当手动添加一个构造函数以后,会将默认的无参数的构造函数覆盖掉。
3.类的构造函数是不能被继承的。只能在子类中去调用父类的构造函数。
4.当父类的构造函数有参数时,子类实例化时,要首先实例化父类(实例化完毕后才会实例化自己的属性),这个时候有错(子类无参数,父类有参数的问题)
//当写好一个子类以后,会有一个默认的无参数的构造函数
//子类继承父类后。父类的构造函数是不能被继承的
//但是,子类也会有自己的构造函数,并且,子类的构造函数会默认调用父类的无参数的构造函数
//此时如果父类中没有无参数的构造函数,会报错
//改造方法
//改造方法2:在父类中增加一个无参数的就OK了 示例:
class Father { public string lastName { get; set; }//定¨义?姓?氏? private decimal property;//定¨义?工¤资哩? public decimal Property { get { return property; } set { property = value; } } public string bloodType { get; set; }//定¨义?血a型í public Father() { } public Father(string name,decimal pro,string blood) { lastName = name; Property = pro; bloodType = blood; } } 子类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace yuxi { class Son : Father { //public Son(string name, decimal pro, string blood) //{ // base.lastName=name; // base.Property = pro; // base.bloodType = blood; //} //也可以这样下。效果同上注释: public Son(string name, decimal pro, string blood) : base(name, pro, blood) { } public void PlayGame() { Console.WriteLine(" my name is{0},my property is{1},my bloodtype is {2},I am a boy , I play games !", lastName,Property,bloodType); } } }