继承的叫子类(派生类),被继承的叫父类
class Person
{
public string name;
}
class Programmer[子类(派生类)] :(继承) Person(父类)
{
继承相当于把父类里的字段、方法、构造函数复制一遍到子类中
public void Add()
{
this.name = name;
}
}
常用的修饰符
1、Public (公有制所有人都可以访问)
2、Private (私有制只能当前类访问)
3、Protected (只能被当前类和继承的类访问,子子类也可访问)
子类在实例化的时候会调用两个构造函数,
除了会调用自己的构造函数,还会调用父类的
如果父类还有父类,也会执行父类的父类的构造函数
在类中This表示当前类对象,Base表示父类
所以子类至少要有一个和父类匹配的上的构造函数
如果构造函数有参数,则还需要先调用父类的构造函数并传参数,然后再调用子类的
调用方法:
public 子类名 (参数列表) : base (参数列表)
C#只支持单继承,不支持多继承
只能继承一个类
什么是基类
被继承,但自身没有继承别人
关于父类空参数的构造函数调用说明
首先,要明确一点
※子类在实例化的时候,必会调用父类的构造函数
子类在声明构造函数的时候,要想办法调用父类的构造
如果父类是空参数的构造函数 :base() ;
可以不写:base () ;
系统会默认调用父类的空参数构造
如果父类是有参数的构造函数,那么一定要通过 :base () ; 的方式调用参数