虽然上面的同学已经回答的很好了!但是还是决定一起讨论下吧,互相学习!
class Program
{
static void Main(string[] args)
{
//Driver类中的显性调用父类构造函数,作用就是在这里传值就可以了
//调用了父类的属性
Driver pro= new Driver("司机", 20, 10);
//调用自己独有的方法
pro.ProSay();
Reporter rep = new Reporter("记者", 10, "采访");
rep.ReSay();
Console.ReadKey();
}
}
//假设有两个类司机和记者,这两个类的共同特点就是都是人,都有姓名和年龄
//所以就 声明一个人类让司机和记者两个类继承人类,他们可以有人类的属性,
//并可以在自己的类里面声明自己独有的属性,便于理解点就是可以省代码
//声明人类
public class Person
{
string _name;//姓名
public string Name
{
get { return _name; }
set { _name = value; }
}
int _age;//年龄
public int Age
{
get { return _age; }
set { _age = value; }
}
//父类构造函数 ,便于子类调用
public Person(string name, int age)
{
this.Name = name;
this.Age = age;
}
}
//司机类,继承人类,继承后有人类的属性,
//并且可以有自己的属性 _workYear为自己的特有属性
public class Driver:Person
{
int _workYear;
public int WorkYear
{
get { return _workYear; }
set { _workYear = value; }
}
//司机自己的方法
public void ProSay()
{
Console.WriteLine("大家好,我叫{0},今年{1}岁了,我的工作年限是{2}",this.Name,this.Age,this.WorkYear);
}
//base:显性调用父类的构造函数,name age起到了传值的作用
public Driver(string name, int age, int workyear)
: base(name, age)
{
this.WorkYear = workyear;
}
}
//记者类,继承人类
public class Reporter : Person
{
string _hobby; //假设记者的特有属性
public string Hobby
{
get { return _hobby; }
set { _hobby = value; }
}
//base显性调用父类构造函数
public Reporter(string name, int age, string hobby)
: base(name, age)
{
this.Hobby = hobby;
}
//自己独有的方法
public void ReSay()
{
Console.WriteLine("大家好,我叫{0},我的爱好是{1},",this.Name,this.Hobby);
}
}
便于看,我把类都写在了同一个界面,类最好是在项目里添加类。大家共同学习,一起努力!一起加油!! |