虚方法、隐藏方法、抽象方法、密封方法、派生类中访问基类成员

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成员 和 静态成员

原文地址:https://www.cnblogs.com/lztwj/p/7221768.html