Java 类的继承,形状类,矩形,圆形正方形

ps:利用接口和多态的实现方法–点击跳转

联系题目:

概述:

  • 设计一个形状类Shape,

    • 方法:

      • 求周长
      • 求面积
  • 形状类的子类:
    • Rect(矩形)
    • Circle(圆形)
  • Rect类的子类:
    • Square(正方形)
  • 子类必须重写父类的求周长和求面积的方法,不同的子类会有不同的计算周长和面积的方法

分析:

各类之间的关系:

  • 形状类:

    • public class Shape
  • 圆形类-继承于-形状类:
    • public class Cirale extends Shape
  • 矩形类-继承于-形状类:
    • public class Rect extends Shape
  • 正方形类-继承于-矩形类:
    • public class Square extends Rect

类的详细设计:

共有以下及各类:

  1. 形状类
  2. 圆形类
  3. 矩形类
  4. 正方形类
  5. Demo
  6. 运行结果

1.形状类

package com.newedu.javabase.allday.classhomework;public class Shape {//成员变量private double perimeter; //周长private double acreage; //面积public  String shapeName;//构造方法public Shape() {}public Shape(double perimeter, double acreage) {super();this.perimeter = perimeter;this.acreage = acreage;}//成员方法public double getPerimeter() {return perimeter;}public void setPerimeter(double perimeter) {this.perimeter = perimeter;}public double getAcreage() {return acreage;}public void setAcreage(double acreage) {this.acreage = acreage;}public String getShapeName() {return shapeName;}public void setShapeName(String shapeName) {this.shapeName = shapeName;}/*** 计算Shap周长*/public void computePerimeter() {}/*** 计算Shap面积*/public void computeAcreage() {}
}

2.圆形类

package com.newedu.javabase.allday.classhomework;
/*** Circle--圆形类-继承于-Shape* @author *  */
public class Cirale extends Shape {//成员变量private double radius; //半径private static final double pi = Math.PI;  //π值public  String shapeName = "圆形";//构造方法public Cirale(){}public Cirale(double radius) {this.radius = radius;computePerimeter();computeAcreage();}//成员方法public double getRadius() {return radius;}public void setRadius(double radius) {this.radius = radius;}/*** 计算圆形周长* C=2πr*/public void computePerimeter() {super.setPerimeter(Math.round(2*pi*this.radius));}/***     计算圆形面积*  S=πr*r*/public void computeAcreage() {super.setAcreage(Math.round(pi*Math.pow(radius, 2)));}
}

3.矩形类

package com.newedu.javabase.allday.classhomework;
/*** Rect--矩形类* @author **/
public class Rect extends Shape {//成员变量private double width;    //宽度private double height;  //高度public  String shapeName = "矩形";//构造方法public Rect() {}public Rect(double width,double height) {this.width = width;this.height = height;computePerimeter();computeAcreage();}//成员方法public void setWidth(double width) {this.width = width;}public double getWidth() {return width;}public void setHeight(double height) {this.height = height;}public double getHeight() {return height;}/*** 计算矩形周长*/public void computePerimeter() {super.setPerimeter(2*(this.height+this.width));}/*** 计算矩形面积*/public void computeAcreage() {super.setAcreage(this.height*this.width);}
}

4.正方形类

package com.newedu.javabase.allday.classhomework;
/*** Square--正方形类--继承于Rect* @author */
public class Square extends Rect {public  String shapeName = "正方形";//构造方法public  Square() {}public  Square(double width) {super(width,width);computePerimeter();computeAcreage();}/*** 计算正方形周长*/public void computePerimeter() {super.setPerimeter(4*super.getWidth());}/*** 计算正方形面积*/public void computeAcreage() {super.setAcreage(Math.pow(super.getWidth(), 2));}
}

5.Demo

package com.newedu.javabase.allday.classhomework;public class Demo01 {public static void main(String[] args) {//定义一个长方形对象  宽度:7,高度:4Rect rect1 = new Rect(7,4);//定义一个圆形对象  半径:6Cirale  cirale1 = new Cirale(6);//定义一个正方形对象  宽度:5Square square1 = new Square(5);System.out.println("形状\t周长\t面积");System.out.println(rect1.shapeName+"\t"+rect1.getPerimeter()+"\t"+rect1.getAcreage());System.out.println(cirale1.shapeName+"\t"+cirale1.getPerimeter()+"\t"+cirale1.getAcreage());System.out.println(square1.shapeName+"\t"+square1.getPerimeter()+"\t"+square1.getAcreage());}}

6.运行结果

/*
形状  周长  面积
矩形  22.0    28.0
圆形  38.0    113.0
正方形 20.0    25.0*/

ps:利用接口和多态的实现方法–点击跳转

ヾ(◍°∇°◍)ノ゙ 加油

Java类继承(extends)题目练习,求周长,求面积相关推荐

  1. java里创建一个长方形类_定义一个长方形类,定义 求周长和面积的方法实例

    /* 定义一个长方形类,定义 求周长和面积的方法, 然后定义一个测试了Test2,进行测试. 长方形的类: 成员变量: 长,宽 成员方法: 求周长:(长+宽)*2; 求面积:长*宽 注意: impor ...

  2. 定义一个长方形类,求周长和面积--学习笔记--16

    1.变量什么时候定义为成员变量 如果这个变量是用来描述这个类的信息的,那么,该变量就应该定义为成员变量 2.变量的范围越小越好,因为能及时的被回收 3.定义一个长方形类,求周长和面积 然后定义一个Te ...

  3. 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test,进行测试

    定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test,进行测试. import java.util.Scanner; class ChangFangXing{private int ...

  4. 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test2,进行测试

    /* 定义一个长方形类,定义 求周长和面积的方法, 然后定义一个测试了Test2,进行测试. 长方形的类: 成员变量: 长,宽 成员方法: 求周长:(长+宽)*2; 求面积:长*宽 注意: impor ...

  5. python 面向对象程序设计 1.2 编写程序,定义一个Circle类,根据圆的半径求周长和面积。

    题目: 编写程序,定义一个Circle类,根据圆的半径求周长和面积.再由Circle类创建两个圆对象,其半径分别为5和10,要求输出各自的周长和面积. 代码: from cmath import pi ...

  6. 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。

    1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试.要求有构造函数.析造函数和复制构造函数. 代码比较简单,论坛有坛友问,顺手写一下当复习 #include <bit ...

  7. python:掌握类的基本方法。定义一个Circle类,根据圆的半径求周长和面积。 再由Circle类创建2个圆对象,其半径分别为5和10,要求输出各自的周长和面积

    掌握类的基本方法.定义一个Circle类,根据圆的半径求周长和面积. 再由Circle类创建2个圆对象,其半径分别为5和10,要求输出各自的周长和面积 请在[python数据分析之禅]gzh后台,回复 ...

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

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

  9. java 类继承命名_Java 语言的类间的继承关系是( )。_学小易找答案

    [判断题]对已经评定质量等级的旅游景区,每三年至少进行一次全面复核. [填空题]关键字 ______ 用于导入包中的类到程序中,供程序中使用. [填空题]创建类对象的运算符是 ________ . [ ...

最新文章

  1. Datawhale组队学习周报(第041周)
  2. Java开发必须掌握的线上问题排查命令
  3. spring boot2.x整合redis
  4. 【Brain】脑智前沿科普|用数学解释大脑学习的过程
  5. Linux怎么查看保存的密码,在Linux中查看已保存的WiFi密码
  6. 使用 simiki 搭建个人 wiki(简易的博客)
  7. 服务器上不安装anaconda而拥有两个环境
  8. ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
  9. 闲来无聊,随便看下asp.net Mvc 的收获
  10. OpenSearch 讲解
  11. android studio插件 统计代码行数
  12. 学习参考《深度实践Spark机器学习》PDF+吴茂贵
  13. kubernetes 26、liveness和readiness的原理与使用
  14. 作为iOS开发者,你不可错过的资源
  15. 微信小程序如何解析标签?
  16. win10配置lua环境
  17. 检查excel指定列中是否有错别字存在
  18. 外贸人订单,了解清楚再接单
  19. U盘安装DotAsterisk(点星PBX)企业呼叫中心或IPPBX系统
  20. 软银云商|总部参观考察

热门文章

  1. 2023免费电脑c盘磁盘数据恢复软件EasyRecovery
  2. linux进程管理工具supervisor安装卸载、子配置文件详解、遇到的问题、supervisor group群组管理、启动一个springboot项目示例、update命令注意点
  3. 杏花岭教师招聘计算机真题,杏花岭2015年小学教师招聘考试真题及答案解析【完整word版】...
  4. 直充卡券话费接口API源码分享
  5. mysql添加user表中的用户
  6. 条码打印软件如何连接得力条码机打印条形码
  7. CASE工具 ——软件产业危机的解决方案
  8. MT6765芯片处理器,MT6765最新资料下载大全
  9. matlab通信仿真的免费网站 集合
  10. k8s pod 详解