using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //第一种 // Student st = new Student(); //DateTime birthdate = new DateTime(2003, 5, 28); //第二种 //Student st2 = new Student("lily",birthdate); //第三种 //goodStudent goodst = new goodStudent(); //第四种 // goodStudent goodst2 = new goodStudent("harfla"); //第五种 // goodStudent goodst3 = new goodStudent("david",new DateTime(1990,6,18) ,"Tqing"); Console.ReadKey(); } } } public class Student { protected int Age; public string Name; public DateTime birthDate; public int GetAge() { int ts = DateTime.Now.Year - birthDate.Year; return ts; } public Student() { Console.WriteLine("默认的构造函数"); } public Student(string name, DateTime birthDt) { this.Name = name; this.birthDate = birthDt; Console.WriteLine("带参数构造函数"); Console.WriteLine("name:{0}--birthdate:{1}",Name,birthDate.ToString("yyyy-MM-dd")); } } public class goodStudent : Student { static DateTime birthdate = new DateTime(2003, 5, 20); public int Score; public string University; public goodStudent() : base() { } public goodStudent(string name, DateTime birthDat, string school) : base(name, birthDat) { this.Age = DateTime.Now.Year - birthDate.Year; this.University = school; Console.WriteLine("name:{0}--birth:{1}--age:{2}", Name, birthDate.ToString("yyyy-MM-dd"), Age); Console.WriteLine("university--{0}", University); } public goodStudent(string uv) : base() { this.University = uv; Console.WriteLine("unviersity:{0}", uv); } }
第一种结果
第二种结果
第三种结果
第四种结果
第五种结果
Base 是子类构造函数中引用父类构造函数