




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验五、继承与抽象编程1实验目的(1)理解抽象类的意义和实际应用的一般模式,熟练掌握抽象类和抽象方法的定义以及抽象类的继承,尤其是子类是非抽象类的情况。2实验内容和步骤(1) 设计一个抽象形状类Shape,包含一个getArea()抽象方法。(2) 在Shape类基础上设计圆形、矩形、三角形和梯形四个子类,要求根据实际形状重写getArea()方法。abstract class Shapeprotected String name;public Shape(String xm)name = xm;System.out.print(名称:+name);abstract public double getArea();class Circle extends Shapeprivate final double PI = 3.14;private double radius;public Circle(String shapeName,double r)super(shapeName);radius = r;public double getArea()return PI*radius*radius;class Rectangle extends Shapeprivate double width;private double height;public Rectangle(String shapeName,double width,double height)super(shapeName);this.width = width;this.height = height;public double getArea()return width*height;class Trapezoid extends Shapeprivate double height;private double topline;private double baseline;public Trapezoid(String shapeName,double height,double topline,double baseline)super(shapeName);this.height = height;this.topline = topline;this.baseline = baseline;public double getArea()return height*(topline+baseline)/2;class Trangle extends Shapeprivate double baseline;private double height;public Trangle(String shapeName,double height,double baseline)super(shapeName);this.height = height;this.baseline = baseline;public double getArea()return height*baseline/2;public class ABpublic static void main(String args)Shape circle = new Circle(圆,5.0);System.out.print(;面积=+circle.getArea();System.out.print(n);Shape rect= new Rectangle(矩形,3.0,5.0);System.out.print(;面积=+rect.getArea();System.out.print(n);Shape trangle = new Trangle(三角形,4.2,5.5);System.out.print(;面积=+trangle.getArea();System.out.print(n);Shape trapezoid =new Trapezoid(梯形,5.0,4.0,9.0);System.out.print(;面积=+trapezoid.getArea();System.out.print(n);(3) 设计一个TestShape类,包含变量area(存储总面积)、静态方法countArea(Shape s),该方法负责把参数中的形状面积加入到area中。在main函数中新建(2)中四种类型的对象s1、s2、s3、s4,通过调用countArea方法把四个对象面积累加到area中,最后输出area。(4) 将形状类Shape改为接口,在不修改测试类TestShape的基础上,保证执行TestShape能够得到与实验四同样的结果。interface IShapefinal double PI = 3.14;abstract public double getArea();class Circle implements IShapedouble radius;public Circle(double r)radius = r;public double getArea()return PI*radius*radius;class Rectangle implements IShapeprivate double width;private double height;public Rectangle(double width,double height)this.width = width;this.height = height;public double getArea()return width*height;class Trapezoid implements IShapeprivate double height;private double topline;private double baseline;public Trapezoid(double height,double topline,double baseline)this.height = height;this.topline = topline;this.baseline = baseline;public double getArea()return height*(topline+baseline)/2;class Trangle implements IShapeprivate double baseline;private double height;public Trangle(double height,double baseline)this.height = height;this.baseline = baseline;public double getArea()return height*baseline/2;public class ABCDpublic static void main(String args)IShape circle = new Circle(3.0);System.out.print(圆面积=+circle.getArea();System.out.print(n);Rectangle rect = new Rectangle(2.5,3.2);System.out.print(矩形面积=+rect.getArea();System.out.print(n);Trapezoid trapezoid =new Trapezoid(5.0,6.0,9.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 30117.6-2025灯和灯系统的光生物安全第6部分:紫外线灯产品
- 农业机械安全培训教材课件
- 化工入厂安全培训总结课件
- 借款合同附加协议5篇
- 养护人员集中安全培训课件
- 别情王实甫课件
- 初识语音识别课件
- 初级安全员培训心得
- 内镜下荷包缝合课件
- 初学者潜水课件
- TAHEPI 0011-2025 建设项目野外施工生态环境保护技术规程
- 《分子生物学基础知识》课件
- GB/T 45147-2024道路车辆总质量大于3.5 t的车辆气制动系统试验使用滚筒制动试验台获取和使用参考值
- 食管纵隔瘘护理
- 建筑项目水泥采购合同
- 华为ICT大赛网络赛道考试题库(786题)
- 水果采购协议样本
- 中职英语(高教版2021基础模块1)Part01-Unit2-Transportation
- 哲学与人生 第二课 树立科学的世界观2.1
- 2024-2030年中国止痛药品市场供需形势及未来前景动态研究研究报告
- 风电110KV升压站土建工程施工方案
评论
0/150
提交评论