1.通过子类无参构造函数创建子类实例
创建父类Person和子类Student。
public class Person { public Person() { Console.WriteLine("我是人"); } } public class Student : Person { public Student() { Console.WriteLine("我是学生"); } }
2.在客户端通过子类无参构造函数创建子类实例。
class Program { static void Main(string[] args) { Student student = new Student(); Console.ReadKey(); } }
二、通过子类有参构造函数创建子类实例
再同时为子类和父类添加有参构造函数。
public class Person { public Person() { Console.WriteLine("我是人"); } public Person(string name) { Console.WriteLine("我是人,我的名字叫{0}", name); } } public class Student : Person { public Student() { Console.WriteLine("我是学生"); } public Student(string name) { Console.WriteLine("我是学生,我的名字叫{0}", name); } }
三、在子类中明确指出调用哪个父类构造函数
以上,默认调用了父类的无参构造函数,但如何调用父类的有参构造函数呢?
--在子类中使用base
在子类Student中的有参构造函数中使用base,明确调用父类有参构造函数。
public class Student : Person { public Student() { Console.WriteLine("我是学生"); } public Student(string name) : base(name) { Console.WriteLine("我是学生,我的名字叫{0}", name); } }
四、通过子类设置父类的公共属性
在父类Person中增加一个Name公共属性,并在父类的构造函数中对Name属性赋值。
public class Person { public string Name { get; set; } public Person() { Console.WriteLine("我是人"); } public Person(string name) { this.Name = name; Console.WriteLine("我是人,我的名字叫{0}", name); } }