类的设计与实现

1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea);

2、设计一个接口IDimension,包括一个方法计算体积(computeVolume);

3、设计一个二维矩形类Rectangle继承自Graph

,该类中有成员变量长x和宽y,至少两个构造函数(无参和有参);

4、设计一个三维立方体类Cube继承自Graph,并实现IDimension接口,该类中有成员变量 长x,宽y,高z,至少两个构造函数

5、在main函数中进行如下测试:

(1)创建一个矩形对象,并输出其面积;

(2)创建一个立方体对象,并输出其表面积和体积

public abstract class Graph {public String type;public String dimension;public Graph(String type,String dimension){this.type = type;this.dimension = dimension;}public abstract void computeArea();
}
public interface IDimension {public abstract void computeVolume();
}
public class Rectangle extends Graph {public String name = "矩形";public int x;public int y;public int area;public int perimeter;public Rectangle(int x, int y) {this.x = x;this.y = y;}@Overridepublic void area() {this.area = x * y;System.out.println("矩形的面积为" + area);}@Overridepublic void perimeter() {this.perimeter = (x + y) * 2;System.out.println("矩形的周长为" + perimeter);}
}
public class Cube extends Graph {public String name = "立方体";public int x;public int y;public int z;public int volume;public int perimeter;public Cube(int x, int y, int z) {this.x = x;this.y = y;this.z = z;}@Overridepublic void perimeter() {this.perimeter = 2*x*y+2*x*z+2*y*z;System.out.println("立方体的表面积为" + perimeter);}@Overridepublic void volume() {this.volume = x * y * z;System.out.println("矩形的周长为" + volume);}
}
public class try2 {public static void main(String[] args) {Rectangle R = new Rectangle(4, 4);R.area();Cube C = new Cube(4, 4,4);C.volume();C.perimeter();}
}

所有文件合在一起写了

类的设计与实现1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea); 2、设计一个接口相关推荐

  1. 设计一个类代表二维空间的一个点,设计一个类代表二维空间的一个圆。要求两个成员变量。一个是圆心,一 个是半径,提供计算面积的方法。为上述Cricle类添加一个方法,计算一个点(Point)是否在圆内

    (1) 设计一个类代表二维空间的一个点 (2) 设计一个类代表二维空间的一个圆.要求两个成员变量.一个是圆心,一 个是半径,提供计算面积的方法. (3) 为上述Cricle类添加一个方法,计算一个点( ...

  2. 设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start0方法、表示加速的speedUp()方法以及表示停止的stop()方法。

    设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start0方法.表示加速的speedUp()方法以及表示停止的stop()方法.再设计一个Auto的子类Bu ...

  3. 二维数组递归算法c语言,C语言课程设计--二维数组的按行求和及递归函数的编写简单家庭财务管理程序的设计.doc...

    成 绩 评 定 表 学生姓名李艳坤班级学号专 业通信工程课程设计题目C语言课程设计评 语 组长签字: 成绩 日期 20 年 月 日 课程设计任务书 学 院信息科学与工程通信工程学生姓名班级学号课程设计 ...

  4. [java基础入门]java期末常考题。定义一个父类person,该类中有两个私有的属性姓名name和age,实现两个属性的封装 定义构造等等来初始化成员变量name和age,在定义显示show方法将

    编程要求: 定义一个父类person,该类中有两个私有的属性姓名name和age, 实现两个属性的封装 定义构造等等来初始化成员变量name和age, 在定义显示show方法将姓名和年龄打印出来, 创 ...

  5. python求二维数组各行最大值_python+numpy按行求一个二维数组的最大值方法

    问题描述: 给定一个二维数组,求每一行的最大值 返回一个列向量 如: 给定数组[1,2,3:4,5,3] 返回[3:5] import numpy as np x = np.array([[1,2,3 ...

  6. C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中

    C语言学习之将一个二维数组的行和列互换,存到另一个二维数组中 #include <stdio.h> int main(){int a[2][3]={{1,2,3},{4,5,6}}; // ...

  7. 按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。其中,m和n的值由用户键盘输入。已知m和n的值都不超过10。

    题目:按如下函数原型编程从键盘输入一个m行n列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值.其中,m和n的值由用户键盘输入.已知m和n的值都不超过10. void InputArray( ...

  8. Java学习之设计一个汽车类Auto,其中包含一个表示速度的double型成员变量speed和表示启动的start()方法、表示加速的speedUp()方法以及表示停止的stop()方法。

    案例介绍: 请设计一个汽车类Auto,其中包含一个表示速度的double刑的成员恋量speed,表示启动的start()方法.表示加速的speedUp()方法以及表示停止的 stop()方法.再设计一 ...

  9. 三款运用二维码分享与预览的原型设计工具

    2019独角兽企业重金招聘Python工程师标准>>> 越来越多的原型工具也开始利用二维码"简单便捷"的特点,来进行原型设计的展示与分享 伴随着智能手机的快速发展 ...

最新文章

  1. 疑难杂症--单回话下 WITH(NOLOCK)返回更多数据
  2. 关系型数据库 和 非关系型数据对比 以及 MySQL与Oracle对比
  3. python3最好的书籍推荐-推荐几本Python3相关书籍?最好分一下基础、进阶、高级...
  4. 文件共享之Samba
  5. restful 接口 安全性设计
  6. CentOS多网卡重命名配置
  7. 【es】es 分布式一致性原理剖析(二)-Meta篇
  8. Linux进程间通信的方法和示例
  9. 从0到1实现VueUI库思路
  10. 难以置信:遇到一位 a=0 也不会写的程序员
  11. Atitit 接口文档法 swaagger法 目录 1. Javadoc法 1 2. (9+条消息)swagger2常用注解说明 - 兴国-为梦想而战 - CSDN博客.html 1 2.1. 首
  12. tomcat中的日志配置
  13. 西门子仿真软件(S7-PLCSIM Advanced )与C#通过Profinet读写DB测试总结
  14. 淘宝客微信机器人搭建教程分享
  15. JAVA:实现RabinKarpAlgorithm拉宾卡普算法(附完整源码)
  16. Android api level对照表
  17. 【脚本】如何恢复Win10图片查看器
  18. 利用小技巧用于跟踪函数的进出过程
  19. [经验分享]TL431的应用及其封装乱象
  20. 005 [Error] expected declaration or statement at end of input

热门文章

  1. 游戏开发学习路线图(2023最新版)建议收藏
  2. 鸵鸟腿“半兽人”已学会跟踪避障,可自主移动到安全距离
  3. 港股中的老千,千万别碰!
  4. 画原型图的几大坑,你被埋了吗?!
  5. OpenStack Zed:新一代仪表盘 Skyline 正式发布
  6. 记win10安装cupy的cuda版本成功踩得坑!!!血泪教训!!
  7. UIswitch 的用法
  8. 汽车数据分析,2022年汽车产量总体高于2021年,年产量增长了6%左右
  9. matlab使用switch结构判断学生成绩的等级
  10. 驼峰命名法等命名规范