下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、继承与接口 2一、实训目标理解对象的上转型对象,以及多态的目的和意义,掌握多态的常 用形式。理解抽象类的意义和实际应用的一般模式,熟练掌握抽象类和抽 象方法的定义以及抽象类的继承,尤其是子类是非抽象类的情况。二、实训内容1 、 请 按 模 板 要 求 ,将 【 代 码 】 替 换 为 Java 程 序 代 码 。Parent.javaabstract class Parentabstract void grow();Son.javaclass Son extends Parentvoid grow()System. out .println( "son: 我比父亲成长条件好一点 !&
2、quot; ); / 重写 grow ()方法,输出" son:我比父亲成长条件好一点!”void play()System. out .println( " 我会踢球 " );Daughter.javaclass Daughter extends Parentvoid grow()System. out .println( "daughter: 我比父亲成长条件好很多 !" ); / 重写 grow()方法,输出 ” daughter: 我比父亲成长条件好很多 ! ”void dance()System. out .println( &quo
3、t; 我会跳舞 " );MyTest.javapublic class MyTest public static void main(String口args ) Parent p=new Son(); /将p设为为子类Son的上转型对象p.grow();/调用重写父类中的grow ()方法/p.play();这里会报错,因为不能调用子类新增的play()方法Son s=(Son) p; /将上转型对象进行强制转化为子类Son的对象s.play();/调用子类中的方法Parentp2=new Daughter。;/将p设为为子类 Daughter的上转型对象p2.grow();/调用重
4、写父类中的grow ()方法Daughter d=(Daughter) p2;/ 将 p进行强制转化为 Daughter 的对象d.dance(); / 调用 Daughter 类中的 dance ()方法2、编程题【实验-继承与接口 1】(1)设计一个形状类Shape,包含一个getArea()方法,该方法不包含实际 语句。package pk1;public interface Shape public abstract double getArea( double area );public double getArea();(2)在Shaped基础上设计圆形(Circle)、矩形(Re
5、ctangle )和梯形(Ladder) 三个子类,要求根据实际形状重写 getArea() 方法,用于计算形状的面 积。Circle.java package pk1;public class Circle implements Shape public Circle( int i )this . r =i ; / 设置半径private float r ;public double getArea()return 3.14* r* r;Overridepublic double getArea( double area ) /TODO 自动生成的方法存根return 0;Rectangle
6、.java package pk1;public class Rectangle implements Shape privatefloatw; / 宽privatefloath; / 高public Rectangle( float w, float h) this . w=w;this . h=h;public double getArea() return w* h;Overridepublic double getArea( double area ) / TODO 自动生成的方法存根 return 0;Ladder.java package pk1;public class Ladd
7、er privatefloatt ;privatefloatb;privatefloath;public Ladder( float this . t =t ;this . b=b;this . h=h;implements Shape/ 上底/ 下底/ 高t , float b, float h)public double getArea() return ( t +b)* h)*1/2;Overridepublic double getArea( double area ) / TODO 自动生成的方法存根return 0;3)创建一个应用程序主类TestShape, 在 main() 方
8、法中分别创建三个子类对象, Circle c=new Circle(10);/ 构造方法中给圆半径变量赋值Rectangle r=new Rectangle(10,20);/ 构造方法中给长、宽变量赋值Ladder c=new Ladder(3,5,4);/ 构造方法中给上底、下底和高变量赋值子类对象分别调用 getArea() 方法,输出各自的面积信息。TestShape.javapackage pk1;public class TestShape public static void main(String args )Circle c=new Circle(10); / 构造方法中给圆半
9、径变量赋值System. out .println( "area=" + c.getArea();Rectangle r =new Rectangle(10,20); / 构造方法中给长、宽变量赋值System. out .println( "area=" + r .getArea();Ladder l =new Ladder(3,5,4);/ 构造方法中给上底、下底和高变量赋值System. out .println( "area=" + l .getArea();(1)新建包名:pk1,在pk1包下,将【实验-继承与接口 11中形
10、状类Shape2新定义为抽象类, 其中的 getArea() 改为抽象方法, 在尽量不修改3种形状子类和测试类TestShape的基础上,保证执行TestShape能够得到与【实验-继承与接口 1同样的结果| £ Shape 产, i Grek j 。RecUngle.jwA £ Laddef.jsva g TeuSlwpe aI 1 package pkl;23 public interface Shape public abstract double getArea(double area);5public double getArea();61 一 J- :n 0的三
11、口巳终止(1) (JavaCProgram FiesUavak1.a.0_91bnj3vawxe (2O2H4月 14日下午生19:12)area=314.0area-200.0area-16.0Z Shape Jm L CircleL£ 咏tangle 加 Jt, Udder>vd 1 Te$tS>Mp« Java -| 1 package pkl;2 public class TestShape public static void main(String args)Circle c«new Circle(10);/* ; i.;.l 2 * * 5 * * * * * 11 12 13 14l < I- -> > r u! Ji,5System. out. println("area-M+ c.getArea(); 6Rectangle r=new 口653醺1(10,2。);用造力;人中给长、工,,增整佗System.out.println(Marea=M+ r.getArea();Ladder l=new Ladder(3,5j4);构比卜底和高变量方Syste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年山东省烟台市高一上学期期中考试物理试题(解析版)
- 企业客户数据整合平台建设方案
- 保温系统施工验收方案
- 基础设施施工验收方案
- 2025-2026学年靳的拼音教学设计数学
- 2025-2026学年井盖拼音教案手工
- 13 地震教学设计小学科学四年级下册青岛版(五四制2024)
- 2025-2026学年夏天到歌曲教案
- 2025-2026学年小班厨具配对教案
- 2025-2026学年音乐大雨和小雨教案
- 2025-2030中国继电器行业经营风险及未来前景需求潜力研究研究报告
- 2026年四川藏区高速公路有限公司笔试试题及答案
- (一模)2026年深圳市高三年级第一次调研考试数学试卷(含官方答案)
- 2026广东广州市海珠区凤阳街道第一批招聘雇员2人笔试模拟试题及答案解析
- 内河船舶事故案例分析
- 2026年莱芜职业技术学院单招文化素质模拟试题及答案解析(二)
- 真空预压法地基处理质量控制要点及检验标准技术交底
- 2026年全国计算机一级考试试题及答案
- 弹簧机技术分享
- 2025NCCN临床实践指南:骨癌(2025.v2)解读课件
- 2026年枣庄科技职业学院单招综合素质考试模拟试题带答案解析
评论
0/150
提交评论