利用多态性编程,实现求三角形、正方形和圆形的面积。 (提示:定义一个接口tuxing,
时间: 2023-12-08 19:02:00 浏览: 53
多态性编程是面向对象编程的一个重要特性,它允许不同的对象使用相同的接口来进行操作。在这个问题中,我们可以利用多态性编程来实现求三角形、正方形和圆形的面积。
首先,我们需要定义一个接口tuxing,该接口包含一个求面积的方法area()。然后我们需要创建三个类,分别是Triangle(三角形)、Square(正方形)和Circle(圆形),这三个类都实现了tuxing接口。
在Triangle类中,我们需要实现area()方法,计算三角形的面积。在Square类中,我们也需要实现area()方法,计算正方形的面积。在Circle类中,同样需要实现area()方法,计算圆形的面积。
接下来,在主程序中,我们可以创建一个数组或者列表,将Triangle、Square和Circle的实例对象放入其中。然后通过循环遍历这个数组或者列表,调用每个对象的area()方法,从而计算出每个图形的面积并输出结果。
通过利用多态性编程,我们可以实现用统一的接口来求解不同图形的面积,极大地简化了程序的逻辑结构,提高了代码的可读性和可维护性。同时,当需要添加新的图形类型时,只需要创建一个新的图形类并实现tuxing接口即可,不需要修改原有的代码,这也体现了多态性的灵活性和扩展性。
相关问题
运行结果: 正方形的周长是:20.0 长方形的周长是:18.0 长方形的面积 是:78.5 abstract class Tuxing { abstract double zhouChang(); abstract double mianJi(); } class ZhengFangXing extends Tuxing{ 1_______ 2________; ZhengFangXing(double a) { this.a=a; } double 3________ { return 4*a; } double mianJi() { return Math.4_____(a, 2); } } class ChangFangXing extends Tuxing { double a; double b; 5_________(double a,double b) { this.a=a; this.b=b; } double zhouChang() { return 2*a+2*b; } double 6______ { return a*b; } } class YuanXing extends Tuxing{ double r; 7______ double PI=3.14; YuanXing(double r){ this.r=r; } double zhouChang(){ return 2*PI*r; } double mianJi(){ return PI*Math.pow(r, 2); } } public class Example04 { public static void main(String[] args) { ZhengFangXing zheng=new ZhengFangXing(8_______); ChangFangXing chang=new ChangFangXing(4,5); System.out.println("正方形的周长是:"+9______.zhouChang()); YuanXing yuan=new YuanXing(5); System.out.println("长方形的周长是:"+10______.zhouChang()); System.out.println(“圆形的面积是:"+11_____.mianJi()); } }
以下是填空的答案:
1. public double zhouChang()
2. double a;
3. zhouChang()
4. pow
5. ChangFangXing(double a,double b)
6. mianJi()
7. YuanXing(double r)
8. 5.0
9. zheng
10. chang
11. yuan
这段代码定义了三个形状类:正方形、长方形和圆形,它们都继承自抽象类 Tuxing。每个形状类都实现了抽象方法 zhouChang() 和 mianJi(),分别用于计算周长和面积。在主函数中,分别创建了一个正方形、一个长方形和一个圆形的实例,然后调用它们的 zhouChang() 和 mianJi() 方法,输出对应的周长和面积。
使用循环语句让Tuxing的每个元素调用getarea方法,并将返回的值累加到totalarea中。
假设Tuxing是一个包含多个形状对象的列表,每个形状对象都有一个getarea()方法来计算该形状的面积,可以使用如下的循环语句来实现将所有形状的面积相加的操作:
```
totalarea = 0
for shape in Tuxing:
totalarea += shape.getarea()
```
其中,循环会遍历Tuxing列表中的每个元素,将每个元素调用getarea()方法返回的面积值累加到totalarea变量中。最终,totalarea变量存储的就是所有形状对象的面积之和。