抽象类和接口
什么是抽象类
用来表示现实世界中的抽象概念
是一种只能定义类型,而不能产生对象的类
只能被子类继承,且抽象类的相关成员函数没有完整的体现,用来被子类重写....比如图形(Shape)类, 就是一个抽象的概念,因为我们无法计算这个“图形”的面积,所以它的成员函数area()是空的。
而继承它的子类(矩形,圆形,三角形等)就可以去重写area()成员函数....答:
在C++中,通过纯虚函数来避免
纯虚函数只需要声明函数名,不用实现函数内容.通过子类去实现
当类中有纯虚函数时,该类就无法创建对象,因为纯虚函数里没有具体内容,所以这个类便成为了抽象类....double area()=0; //不需要实现函数内容
};
接口
当类满足下面条件,则称为接口
类中没有定义任何成员变量
所有的成员函数都是公有的,并且都是纯虚函数
接口是一种特殊的抽象类...类,学生student类,则该类的成员便会拥有两个people类成员,从而产生冗余
在工程中,如何正确使用多重继承
只继承一个父类和多个接口
由于接口只有存虚函数,从而避免了冗余的成员
在父类中提供equal