继承的初步
1、派生:
被继承的类叫基类、父类,继承而来的类叫派生类、子类
class 子类名称 : 父类名称
{
.....
}
子类可以重载父类的方法,注意行参的不同
在子类中构造新对象时,不仅要调用子类的构造器,还要调用父类的构造器,并且,这些被调用的构造器必须具有相应的参数列表
2、base关键字
子类可以利用父类的各种成员,但是子类只能利用父类中被声明为public和protected的成员
base关键字是为了在子类中替代父类的名称
3、禁止继承
封闭类的概念:sealed
sealed关键字不仅可以用来声明类,还可以用来声明“封闭”的方法和属性
4、保护访问
protected关键字:只在类的继承树链上可见
5、内部访问
internal关键字:在一个assembly内部可见
6、成员访问级别
private:私有成员只能在声明成员的类中使用
protected internal:成员只能在同一个类及其子类中被使用,并且所有在类必须在一个assembly中
internal:在一个assembly中访问
protected:只能在类继承树链上被访问
public:不受限制
多态性和虚成员
1、在父类中利用virtual关键字来声明虚成员,虚成员可以是类的方法、属性和索引,不可以是域或者私有成员变量
2、在子类中用override关键字来重新声明虚成员
抽象类
1、abstract关键字
2、抽象方法不可以为其实例化任何代码,在方法声明时,不可以在方法后使用{};
3、抽象属性需要指出属性的get或者set部分,但是不能实例化任何代码;
造型
只允许用父类造型子类
1、派生:
被继承的类叫基类、父类,继承而来的类叫派生类、子类
class 子类名称 : 父类名称
{
.....
}
子类可以重载父类的方法,注意行参的不同
在子类中构造新对象时,不仅要调用子类的构造器,还要调用父类的构造器,并且,这些被调用的构造器必须具有相应的参数列表
2、base关键字
子类可以利用父类的各种成员,但是子类只能利用父类中被声明为public和protected的成员
base关键字是为了在子类中替代父类的名称
3、禁止继承
封闭类的概念:sealed
sealed关键字不仅可以用来声明类,还可以用来声明“封闭”的方法和属性
4、保护访问
protected关键字:只在类的继承树链上可见
5、内部访问
internal关键字:在一个assembly内部可见
6、成员访问级别
private:私有成员只能在声明成员的类中使用
protected internal:成员只能在同一个类及其子类中被使用,并且所有在类必须在一个assembly中
internal:在一个assembly中访问
protected:只能在类继承树链上被访问
public:不受限制
多态性和虚成员
1、在父类中利用virtual关键字来声明虚成员,虚成员可以是类的方法、属性和索引,不可以是域或者私有成员变量
2、在子类中用override关键字来重新声明虚成员
抽象类
1、abstract关键字
2、抽象方法不可以为其实例化任何代码,在方法声明时,不可以在方法后使用{};
3、抽象属性需要指出属性的get或者set部分,但是不能实例化任何代码;
造型
只允许用父类造型子类