OOP关于组成、遗传和多态性的基本问题



我有这段代码,我想知道它是否有这三个概念:组合、继承和多态性。(如果它没有它们,我该如何在代码中使用它们(

寻求帮助。

这里有一个合成示例:圆由一个点和一个半径组成:

class Circle : public Shape
{
private:
Point center;
double radius;

这里有一个继承的例子:矩形是Shape:的类型

class Rectangle : public Shape

这里有一个多态性的例子:getArea()方法被声明为基类(Shape(中的虚拟方法,然后以不同的(适合子类的(方式为每个子类重新实现:

class Shape
{
public:
virtual double getArea() {};

[…]

class Circle : public Shape
{
double getArea() {
return radius * radius * PI;
}

[…]

class Rectangle : public Shape
{
double getArea() {
return getWidth() * getHeight();
}

最新更新