面向对象中的抽象类
1.可用于表示显示世界中的抽象概念
2.是一种只能定义类型,而不能产生对象的类
3.只能被继承并重写相关函数
4.直接特征就是相关函数没有完整实现
5.抽象类不能创建对象,只能用于继承
6.C++中没有抽象类的概念
7.C++中通过纯虚函数实现抽象类
8.纯虚函数时指只定义原型的成员函数
9.一个C++类中存在存虚函数就成为了抽象类
class Shape {public: virtual double area()=0;--------->“=0”用于表示当前是声明纯虚函数,因此不需要定义函数体 }; class Circle:public Shape { int mr; public : Circle(int r) { mr=r; } double area(){ return 3.14*mr*mr; } } void area(Shape* p) { double r=p->area(); cout<<"r = "<<r<<endl; }//---------->这里会发生多态的现象-----》通过抽象类的指正来调用纯虚函数
注意:
1.抽象类只能用作父类继承
2.子类必须实现纯虚函数的具体功能
3.纯虚函数被实现后成为虚函数
4.如果子类没有实现纯虚函数,则子类成为抽象类,不能创建对象
接口:(直接的说---接口是一组行为的规范,是一种函数原型)
1.类中没有定义任何的成员变量
2.所有的成员函数都是共有的
3。所有的成员函数都是纯虚函数
4.接口是一种特殊的抽象类