问题
-计算多种图形的面积,并比较各种图形面积的最大值
-使用抽象类及其子类的方式实现本案例
-本案例以圆形和正方形为例
注:正方形的面积公式为:0.0625*c*c。圆形的面积公式为:0.0796*c*c,其中c表示图形的周长
![e39eb470cd49ac2ed4e49b37ffb1a631.png](https://img-blog.csdnimg.cn/img_convert/e39eb470cd49ac2ed4e49b37ffb1a631.png)
方案
分析问题中的描述,可以得出如下解决方案
-定义两个类Square和Circle,分别表示正方形和圆形
-正方形和圆形都有周长,我们可以使用c属性来表示,要计算正方形和圆形的面积,我们定义area方法来实现,即,分别在Square类和Circle类中定义c属性和area方法,并根据各自图形的公式计算对应面积。
-案例问题中要求计算各种图形面积,并找出最大值。在此,我们需要找到一种类型。该类型为Square类和Circle类的父类,使用该类型的数组来存储所有图形。因此定义Shape类,该类为Square和Circle类的父类,并将Square和Circle类的共有属性放入Shape类中定义。
-又因为父类(Shape)的引用不能直接调用子类的方法(area方法),因此,将area方法抽取到父类Shape中。在父类Shape中,不知道具体是哪种图形,