抽象类和抽象方法
abstract关键字
abstract [ab·stract || 'æbstrækt]
n. 梗概, 摘要; 抽象概念; 萃取物
v. 使抽象化, 提炼, 摘要
adj. 抽象的; 纯理论的; 深奥的
抽象类就是为了继承而生的!
专门用于被继承的类就是抽象类。。。他就是上帝,下边都是他的子民
类别 |
定义 |
抽象类 |
如果一个类只是表达一种抽象的概念,仅仅作为其派生类的一个基类,这样的类叫抽象类,用abstract关键字修饰。 |
抽象方法 |
用abstract关键字修饰的方法 |
抽象类:
public abstract class myClass
{
}
抽象类中的抽象方法:
public abstract void ShowInfo();
抽象类的特点:
(1) 抽象类不能被实例化,如 myClass myclass = new myClass();这是不对的,因为myClass是抽象类
(2)抽象类不能被密封。其实啊,抽象类跟密封类是死对头,抽象类可以继承其他抽象类(不过这样做没什么意义),而密封类只能做子类
(3)抽象类可以但是不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要将这个类声明为抽象类
但是如果不想把类声明为抽象类,但又想实现方法在基类中不具体实现,而是在基类中重写实现功能,该怎么办呢?
可以通过把父类方法声明为虚函数 virtual的形式
把基类同一方法名声明为override来实现方法的重写