长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。
【案例目标】
- 学会“图形的面积与周长计算程序设计”的实现思路。
- 独立完成“图形的面积与周长计算程序设计”的源代码编写、编译及运行。
- 理解和掌握面向对象的设计过程。
- 掌握抽象类及抽象方法的使用。
【案例分析】
(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();}}
长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。相关推荐
- 7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形)、Square(正方形)、Rectangle( 长方形)、Trapezoid (梯形)
7-1 用虚函数计算各种图形的面积 (20分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯形) ...
- 设计一个程序显示一个桌子的信息,包括桌子的类型(长方形、正方形、圆形)、腿数、高度和面积,其中面积是通过根据桌子类型不同而输入不同的数据来计算得出
设计一个程序显示一个桌子的信息,包括桌子的类型(长方形.正方形.圆形).腿数.高度和面积,通过根据桌子类型不同而输入不同的数据来计算得出: 要点提示: 1) 桌子的形状可以使用一个整数变量来表示,例 ...
- 编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据。
编写一个程序,计算|X-Y|的值,并将结果存入RESULT单元中,其中X和Y都为带符号字数据. P154 例4.11 汇编思路:DATA段定义X.Y.RESULE分别用于存放随机数.存放随机数.存放最 ...
- java版 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少.
2. 设计一个程序, 输入整数l, 求边长为l的正方形面积, 比直径为l的圆形面积大多少. (0<l<1000, PI取3.14, 输出结果保留两位小数) 样例输入: 3 样例输出: 1. ...
- 数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内的偶数都可以分解成两个素数
数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本实验的任务是设计一个程序,验证20亿以内的偶数 ...
- 验证“哥德巴赫猜想”,数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。本实验的任务是设计一个程序,验证20亿以内
5 验证"哥德巴赫猜想" 数学领域著名的"哥德巴赫猜想"的大致意思是:任何一个大于2的偶数总能表示为两个素数之和.比如:24=5+19,其中5和19都是素数.本 ...
- 设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数、求正方形周长的虚函数、输出函数。 (2) 定义类Square的共有派
设计一个程序,求正方形和长方形的周长,具体要求如下: (1) 定义正方形类Square作为基类,包含数据成员边长,以及构造函数.求正方形周长的虚函数.输出函数. (2) 定义类Square的共有派生类 ...
- 7-3 用虚函数计算各种图形的面积
7-3 用虚函数计算各种图形的面积 定义抽象基类Shape,由它派生出五个派生类: Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯形)和Tria ...
- 蒜厂有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。 请写一个程序,计算你总共能够到达多少块黑色的瓷砖。
蒜厂有一间长方形的房子,地上铺了红色.黑色两种颜色的正方形瓷砖.你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动. 请写一个程序,计算你总共能够到达多少块黑色的瓷砖. 输入格式 第一行是两个整数 ...
最新文章
- gRPC简介及简单使用(C++)
- Swift 中使用 SQLite——查询数据
- 《Mysql数据库及应用》_MySQL数据库及应用
- 深入理解学习Git工作流
- echarts label加边框_玩转ECharts之实现“动态颜色的Label”
- python怎么解释语言_python属于解释语言吗
- Exp8 web基础
- 关于kafka的几个问题
- RTMPdump 使用说明
- windows 软件推荐
- Android IntentService的使用和源代码分析
- [android] init进程 .rc文件中service、action的parsing
- java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
- (转)Palantir: 神秘的大数据公司
- python黑客攻防入门mobi_《Flink入门与实战》配套资源
- ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)解决办法
- InputBox函数用法小结
- 资源管理器 右键 反应慢 现象解决方案
- Codingame平台“CHUCK NORRIS”的Python实现
- Fallback class must implement the interface annotated by @FeignClient
热门文章
- android adb shell 命令操作
- Spring Boot+Eureka+Spring Cloud微服务快速上手项目实战
- java数组转换为集合
- javascript 解 一笔画游戏
- 客户心声|腾讯云数据库助力国信证券反洗钱系统分布式改造
- 等式(分解质因子求因子个数)
- 中南大学计算机学硕很难考吗,2019中南大学计算机专业考研成功经验分享
- python两位数交换位置_整形变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是:...
- Yupoo(又拍网)的系统架构
- cropper基本用法(裁剪图片)