派生类的申明格式:
属性 类修饰符 class 派生类名:基类名{
类体
}
例如:
class employee:person //person是基类
{
private string department;
private decimal salary;
public employee(string name, int age, string depmt, decimal sal):base(name,age)
{//base的第一种用法,根据参数调用指定基类构造函数,注意参数的传递
department = depmt;
salary = sal;
}
public new void Display(){//覆盖基类Display()方法,注意new,不可用override
base.Display(); //base的第二种用法,访问基类被覆盖的方法
Console.WriteLine("部门:{0} 薪水:{1}",department,salary);
}
}
注意:如果派生类继承了基类的私有成员变量,那么派生类不能通过新增或者覆盖的方法直接修改基类私有成员变量,只能通过基类原有的公有方法SetXxx()修改。如果希望在派生类中直接修改,必须在基类中修改它们的属性为protected。
2.base关键字
一、在定义派生类的构造函数中,指明要调用的基类构造函数,由于基类可能有多个构造函数,根据base后面的参数类型和个数,指明要调用哪一个基类的构造函数。
二、在派生类中方法中调用基类中派生类覆盖的方法。
3.C#语言继承的特点:
(1)C#语言只允许单继承,即派生类只能有一个基类;
(2)C#继承是可以传递的,C继承B,B继承A,那么C不但继承B的成员,还继承A中的成员。
(3)派生类可以添加新成员,但不能删除继承的成员;
(4)派生类不能继承基类的构造函数、析构函数和事件;但能继承基类的属性;
扫描二维码关注公众号,回复:
10897071 查看本文章
(5)派生类的对象也是其基类的对象,但基类的对象不是其派生类的对象。故基类的引用变量可以引用其派生类对象。