虚方法、隐藏方法、抽象方法、密封方法、派生类中访问基类成员
1.抽象类
1.抽象类不能实例化。
2.抽象类可以包含非抽象成员。
3.类中一旦包含了抽象成员,类就必须使用 abstract 关键字显示的声明为抽象类。
2.密封类
1.密封类不能被继承。
3.虚方法
1.把一个基类函数声明为 virtual ,就可以在任何派生类中重写该函数。
2.派生类在重写方法时,必须用 override 关键字显示的声明。重写后,这个 override 标识的重写方法还是虚拟的。
3.重写方法时,不能改变虚方法的可访问性。
4.静态函数不能声明为虚函数,虚函数的概念只对类中的实例函数有意义。
5.虚函数、抽象函数不能为 private ,因为这样没有意义,不能被继承就不能被重写。
6.虚函数加重写(基类中 virtual 或 abstract 或 override,派生类中 override)可以实现面向对象的多态性,父类指针指向子类对象。.
7.本质上,virtual、abstract、override 修饰的方法都是虚方法。
4.隐藏方法
1.如果签名相同的方法在基类和派生类中都进行了声明,但方法没有声明为virtual和override,则派生类的方法会隐藏基类的方法。
5.抽象方法
1.抽象方法存在于抽象类中。
2.抽象方法不提供具体实现,必须在派生类中重写。
3.抽象方法本身也是一直虚方法。
6.密封方法
1.密封方法表示:这是一个虚方法,它正在被重写,但是它不希望以后的派生类再重写了。
2.密封方法sealed必须和override一起使用, sealed override
7.访问基类的方法和字段
1.使用 base.基类成员 的形式访问
2.base 相当于基类的实例
3.可以在派生类方法中使用
3.不能方法基类的private成员 和 静态成员