实验内容:利用面向对象的程序设计方法,设计一个图形面积“计算器”,希望计算器可以计算许多图形的面积。要求如下:
(1)编写抽象类Shape
Shape抽象类有2个抽象方法getArea()和getShapeName(),即要求各种具体的图形给出自己的面积和名称。
(2)编写计算器类CalculatedArea
该类有一个showArea(Shape shape)方法,该方法的参数是Shape类型。即参数shape可以调用Shape的子类重写的getArea()方法计算具体图形的面积、调用子类重写的getShapelName()方法显示图形的名称。
(3)编写Shape类的子类:矩形Rect,三角形Triangle等类。
(4)编写检测类,验证程序的功能。
写一个图形计算器,能显示面积和名称,希望看下代码
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- CSDN专家-赖老师(软件之家) 2021-06-18 09:51关注
import java.util.Scanner; public class Test { public static void main(String[] args) { Shape circle = new Circle(5.6); System.out.println("圆的面积:" + circle.getArea()); System.out.println("圆的周长:" + circle.getPerimeter()); Shape rect = new Rectangle(6.1,6.3); System.out.println("矩形的面积:" + rect.getArea()); System.out.println("矩形的周长:" + rect.getPerimeter()); } } interface Shape{ double getArea(); double getPerimeter(); } class Circle implements Shape{ double radius; //半径 public Circle() {} public Circle(double radius) { this.radius = radius; } @Override public double getArea() { return 3.14*radius*radius; } @Override public double getPerimeter() { return 2*radius*3.14; } } class Rectangle implements Shape{ private double height; private double width; public Rectangle() {} public Rectangle(double height,double width) { this.height = height; this.width = width; } @Override public double getArea() { return width*height; } @Override public double getPerimeter() { return 2*height*width; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
- ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
- ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
- ¥15 运动想象脑电信号数据集.vhdr
- ¥15 三因素重复测量数据R语句编写,不存在交互作用
- ¥15 微信会员卡等级和折扣规则
- ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
- ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
- ¥15 gdf格式的脑电数据如何处理matlab
- ¥20 重新写的代码替换了之后运行hbuliderx就这样了