【案例目标】

  1. 学会“图形的面积与周长计算程序设计”的实现思路。
  2. 独立完成“图形的面积与周长计算程序设计”的源代码编写、编译及运行。
  3. 理解和掌握面向对象的设计过程。
  4. 掌握抽象类及抽象方法的使用。

【案例分析】

(1)定义父类Shape作为抽象类,并在类中定义抽象方法求周长和面积。

(2)定义Shape子类圆形(circle),具有半径属性和常量PI,同时必须实现父类中的抽象方法。

(3)定义Shape子类长方形(rectangle),具有长和宽的属性,同时必须实现父类的抽象方法。

(4) 定义图形面积周长计算器(ShapeCalculate),具有计算不同图形面积和周长的方法。

(5)创建测试类TestShape类,在其main()方法中对ShapeCalculate计算面积和周长方法进行测试。

public class TestShape{public static void main(String[] args) {ShapeCalculate s=new ShapeCalculate();s.circle();s.rectangle();}
}
abstract class Shape{abstract void zhouchang();abstract void mianji();
}
class circle extends Shape{double r;public double getR(){return r;}public void setR(double r){this.r=r;}double PI=3.14;void zhouchang() {double zhouchang=2*r*PI;System.out.println("圆的周长为"+zhouchang);}void mianji() {double mianji=PI*r*r;System.out.println("圆的面积为"+mianji);}public circle(double r){this.r=r;}
}
class rectangle extends Shape{int chang;int kuan;public int getChang(){return chang;}public void setChang(int chang){this.chang=chang;}public int getKuan(){return kuan;}public void setKuan(int kuan){this.kuan=kuan;}void zhouchang() {int zhouchang=(chang+kuan)*2;System.out.println("长方形周长为"+zhouchang);}void mianji() {int mianji=chang*kuan;System.out.println("长方形面积为"+mianji);}public rectangle(int chang,int kuan){this.chang=chang;this.kuan=kuan;}
}
class ShapeCalculate{void circle() {circle c=new circle(4);c.mianji();c.zhouchang();}void rectangle(){rectangle r=new rectangle(4,4);r.mianji();r.zhouchang();}}

长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。相关推荐

  1. 7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)

    7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯形) ...

  2. 设计一个程序显示一个桌子的信息,包括桌子的类型(长方形、正方形、圆形)、腿数、高度和面积,其中面积是通过根据桌子类型不同而输入不同的数据来计算得出

    设计一个程序显示一个桌子的信息,包括桌子的类型(长方形.正方形.圆形).腿数.高度和面积,通过根据桌子类型不同而输入不同的数据来计算得出: 要点提示: 1)  桌子的形状可以使用一个整数变量来表示,例 ...

  3. 编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。

    编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据. P154 例4.11 汇编思路:DATA段定义X.Y.RESULE分别用于存放随机数.存放随机数.存放最 ...

  4. java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.

    2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少. (0<l<1000, PI取3.14, 输出结果保留两位小数) 样例输入: 3 样例输出: 1. ...

  5. 数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数

    数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本实验的任务是设计一个程序,验证20亿以内的偶数 ...

  6. 验证“哥德巴赫猜想”,数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内

    5 验证"哥德巴赫猜想" 数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本 ...

  7. 设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数、求正方形周长的虚函数、输出函数。 (2) 定义类Square的共有派

    设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数.求正方形周长的虚函数.输出函数. (2) 定义类Square的共有派生类 ...

  8. 7-3 用虚函数计算各种图形的面积

    7-3 用虚函数计算各种图形的面积 定义抽象基类Shape,由它派生出五个派生类: Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯形)和Tria ...

  9. 蒜厂有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。

    蒜厂有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动. 请写一个程序,计算你总共能够到达多少块黑色的瓷砖. 输入格式 第一行是两个整数 ...

最新文章

  1. gRPC简介及简单使用(C++)
  2. Swift 中使用 SQLite——查询数据
  3. 《Mysql数据库及应用》_MySQL数据库及应用
  4. 深入理解学习Git工作流
  5. echarts label加边框_玩转ECharts之实现“动态颜色的Label”
  6. python怎么解释语言_python属于解释语言吗
  7. Exp8 web基础
  8. 关于kafka的几个问题
  9. RTMPdump 使用说明
  10. windows 软件推荐
  11. Android IntentService的使用和源代码分析
  12. [android] init进程 .rc文件中service、action的parsing
  13. java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
  14. (转)Palantir: 神秘的大数据公司
  15. python黑客攻防入门mobi_《Flink入门与实战》配套资源
  16. ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法
  17. InputBox函数用法小结
  18. 资源管理器 右键 反应慢 现象解决方案
  19. Codingame平台“CHUCK NORRIS”的Python实现
  20. Fallback class must implement the interface annotated by @FeignClient

热门文章

  1. android adb shell 命令操作
  2. Spring Boot+Eureka+Spring Cloud微服务快速上手项目实战
  3. java数组转换为集合
  4. javascript 解 一笔画游戏
  5. 客户心声|腾讯云数据库助力国信证券反洗钱系统分布式改造
  6. 等式(分解质因子求因子个数)
  7. 中南大学计算机学硕很难考吗,2019中南大学计算机专业考研成功经验分享
  8. python两位数交换位置_整形变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是:...
  9. Yupoo(又拍网)的系统架构
  10. cropper基本用法(裁剪图片)