继承(是指类与类之间的关系)
如何判断一个继承关系是否合理 子类 is a 父类
Base Class 基类 Parent Class 父类
Derived Class 派生类 Child Class 子类
为什么要继承?继承带给我们的好处?
代码重用
LSP里氏替换原则、多态。(程序的可扩展性、灵活性)方法重写override。
子类继承父类的属性和方法,使创建子类变得很简单,实现了代码重用、以及多态。
类的单根继承性、传递性、继承时构造函数的问题。
所有的类都直接或间接的继承自object。查看IL代码。
访问修饰符
1.当写好一个类以后,默认会存在一个没有参数的构造函数(即便我们不写构造函数,也会存在这么一个无参的构造函数)
2. 当手动添加一个构造函数以后,会将默认的无参数的构造函数覆盖掉。
3.类的构造函数是不能被继承的。只能在子类中去调用父类的构造函数。
Virtual 实现多态的一种手段
//继承----多态(virtual方法实现)
//步骤 父类中 写成虚方法(virtual) 子类中重写(override)
Person 类
public string Name
{set;get;}
public int Age
{set;get;}
public string Gender
{set;get;}
public virtual void ShowNationlity() //标记为虚方法 方便以后重写
{
Console.WriteLine("地球");
}
Chinses类
class Chinese:Person
{
public string HuKou
{se