设计一个形状类(接口)Shape,方法:求周长和求面积
形状类(接口)的子类(实现类):
    Rect(矩形)
    Circle(圆形)

Rect类的子类:
    Square(正方形)
    
不同的子类会有不同的计算周长和面积的方法
创建三个不同的形状对象,放在Shape类型的数组里,分别打印出每个对象的周长和面积

Shape接口:

public interface Shape {double PerimeterSum();//周长double Area();//面积
}

Rect(矩形

package com.mjh.dome7;public class Rect  implements Shape{private double width; // 宽private double height; // 高public double getWidth() {return width;}public void setWidth(double width) {this.width = width;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}// 子类只需要款public Rect(double width) {this.width = width;}public Rect(double width, double height) {this.height = height;this.width = width;}@Overridepublic double Area() {return width * height;}@Overridepublic double PerimeterSum() {return 2 * (width + height);}}

Circle(圆形):

package com.mjh.dome7;public class Circle implements Shape {private final double PI = 3.14;   //圆周率pai Πprivate double r;    //半径@Overridepublic double PerimeterSum() {//周长 2Πrreturn 2*PI*r;}@Overridepublic double Area() {//面积Πr平方return PI * r * r;}public double getR() {return r;}public void setR(double r) {this.r = r;}public Circle(double r) {this.r = r;}}

Square(正方形)

package com.mjh.dome7;public class Square extends Rect{public Square(double width) {super(width);}public Square(double width, double height) {super(width, height);}@Overridepublic double Area() {return getWidth() * getWidth();}@Overridepublic double PerimeterSum() {return 4 * getWidth();}}

测试:

public class Test {public static void main(String[] args) {Shape[] shape = new Shape[3];shape[0] = new Circle(3);shape[1] = new Rect(5, 8);shape[2] = new Square(5);System.out.println("圆,矩形,正方形");for (int i = 0; i < shape.length; i++) {System.out.println(""+"面积为:"+shape[i].Area()+"周长为:"+shape[i].PerimeterSum());}}
}

运行结果:

设计一个形状类(接口)Shape相关推荐

  1. 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类):

    设计一个形状类(接口)Shape,方法:求周长和求面积 形状类(接口)的子类(实现类): package zuoye2;public interface Shape {// 求面积方法double g ...

  2. 设计一个形状类(接口)Shape,方法:求周长和求面积

    3.设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类):Rect(矩形)Circle(圆形)Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积 ...

  3. Java基础 接口实现 设计一个形状类(接口)Shape,方法:求周长和求面积

    题目: 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类);:Rect(矩形),Circle(圆形)Rect类的子类:Square(正方形)不同的子类会有不同的计算周 ...

  4. 设计一个形状类(接口)Shape,方法:求周长和求面积形状类(接口)的子类(实现类): Rect(矩形) Circle(圆形)Rect类的子类: Square(正方形)不同的子类会有不同的计算周长和面

    设计一个形状类(接口)Shape,方法:求周长和求面积 形状类(接口)的子类(实现类):     Rect(矩形)     Circle(圆形) Rect类的子类:     Square(正方形)   ...

  5. java形状类_[转载]JAVA 设计一个形状类Shape 求周长和面积

    设计一个形状类Shape,方法:求周长和求面积 形状类的子类:Rect(矩形),Circle(圆形) Rect类的子类:Square(正方形) 不同的子类会有不同的计算周长和面积的方法 创建三个不同的 ...

  6. java shape 空间操作类_设计三个类:几何形状类(Shape)、圆类(Circle)、矩形类(.,请编写 Java程序,设计一个“形状rdquo...

    问题标题 设计三个类:几何形状类(Shape).圆类(Circle).矩形类(.,请编写 Java程序,设计一个"形状&rdquo 2019-5-10来自ip:17.175.174. ...

  7. 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。

    代码 /* 开放型题目:设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法.设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义.设计一个鼠标 ...

  8. 设计一个接口, 并设计一个实现类实现该接口,演示它们的使用。具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye()。

    设计一个接口, 并设计一个实现类实现该接口,演示它们的使用. 具体,创建一个名称为Person的接口,在接口中定义两个方法sayHello()和sayBye().然后,创建两个实现了Person接口的 ...

  9. JAVA实验二:设计一个教师类Teacher(属于cn.net.sdkd包)实现接口进行排序等

    设计一个教师类Teacher(属于cn.net.sdkd包) (1)属性有编号(int no).姓名(String name).年龄(int age).所属学院(String seminary),为这 ...

最新文章

  1. 2014-2-28 思杨的语言能力
  2. ttl接地是高电平还是低电平_(音源很重要)18新汉兰达音响改装升级原车主机改低电平RCA输出...
  3. chrome恐龙游戏_如何玩没有互联网的Google Chrome恐龙游戏-在线和离线
  4. linux传几百G文件,为什么我不推荐另外2种快速传几百G文件的方法!
  5. 一个牛逼的Coder是这样诞生的
  6. java中三种方法_Java文件I/O的三种方法
  7. Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置
  8. synchronized几种常见用法
  9. 《Spring实战》读书笔记
  10. 马克思主义哲学与计算机专业的关系,以科学技术哲学来分析与自然辨证法的统一关系...
  11. 拨号ECS和拨号VPS的区别
  12. 控制台报错:Unknown database ‘xxxxx‘
  13. 知識は潜在能力、行動は力CommentsAdd Star
  14. mysql 数据备份
  15. 大麦网首开客户分享会:没有吃喝 纯聊天
  16. 令人十分期待的ECShopX BBC商城开放终身免费商用
  17. 千亿市值今天解禁 美团点评“心里没谱”
  18. 英文SEO移动端搜索优化指南
  19. web前端从入门到放弃
  20. antdesign卡片_10分钟精通Ant Design Form表单

热门文章

  1. w10谷歌chrome关闭自动更新
  2. Java用for循环打印99乘法表
  3. win10上运行emwin
  4. 美的变频空调保护性停机分析与检修案例
  5. 数字图像处理第九章 形态学图像处理
  6. 微信小程序里面的标签和html标签做对比
  7. ET表格在线转换成Excel
  8. 5款尽情歌唱的免费卡拉OK电脑软件
  9. 医院业务系统设计(四) --- 患者管理之分诊系统
  10. anaconda matplotlib绘图中文乱码解决