免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验八 继承实验目的:1. 理解继承的概念2. 掌握继承的实现3. 理解继承中的覆盖现象4. 理解抽象类的概念,掌握定义抽象类的方法和应用实验数据记录及分析(或程序及运行结果)1. 首先预测下列程序的运行结果,然后编译、执行以验证你的预测:class Petprotected String name;public Pet(String n)name = n;public String getName()return name;public String move()return run;public String speak()return ;public String toString()return My pet + name;class Dog extends Petprotected int weight;public Dog(String s)super(s);class PetTestpublic static void main(String args)Pet myPet = new Pet(George);Dog myDog = new Dog(Spot);System.out.println(myPet.toString() + n + Speak: + myPet.speak() +n + myPet.move() + + myPet.getName() + n);System.out.println(myDog.toString() + n + Speak: + myDog.speak() +n + myDog.move() + +myDog.getName() + n);1) 修改Dog类的构造函数,使之可以初始化Dog类中的weight值。2) 在Dog类中添加方法getWeight以获得其weight值。3) 修改类Test,使用新的构造函数创建一个名为“snoopy”,重为10的Dog类的对象,并利用其方法输出包括重量在内的各项值4) 要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?修改(1)中程序,并验证你的做法。1)。public Dog(int weight,String s) super(s);this.weight=weight; 2). public int gerWeight()return weight;3). Dog dog=new Dog(“snoopy”,10);System.out.println(dog.toString()+”n”+”weight”+dog.getWeight()+”n”+”Speak”+dog.speak()+”n”+dog.move()+” ”+dog.getName()+”n”);4). public String speak() return Woof Woof; 2. 试改写上题中的Pet类,其中move与speak方法定义为抽象方法。定义一个Pet类的子类Cat类。在Cat类中实现move和Speak方法。其中move方法返回值为“run”,speak方法返回值为“meow meow”。 编写含有main方法的公共类PetTest,在其方法体中创建一个名为myCat的Cat的实例。并依照上题中PetTest类main方法中的相应格式输出结果。3. 按照要求完成程序public class Testpublic static void main(String args)System.out.println(创建父类对象:);SuperClass sc0 = new SuperClass();System.out.println(n创建第一个子类对象:);SubClass sc1 = new SubClass();System.out.println(n创建第二个子类对象:);SubClass sc2 = new SubClass(1);class SuperClassSuperClass( )System.out.println(父类的构造函数);class SubClass extends SuperClassSubClass( )System.out.println(子类的第一个构造函数);SubClass(int i)System.out.println(子类的第二个构造函数);要求:去掉SubClass的所有构造函数,然后将Test类中main方法的最后两行语句删除。预测修改后程序的运行结果,并进行验证。4. 按照要求完成程序:1) 第一个类是图形类(Shape),含有一个成员变量color(字符串类型),一个没有参数的构造方法,以及一个有一个字符串类型参数的构造方法来初始化颜色变量,还有一个返回颜色变量值的成员方法show,以及一个抽象方法getArea获取面积,返回值为double类型;2) 第二个类是圆形类(Circle)继承自图形类,含有一个成员变量半径r,有一个有两个参数的构造方法,来初始化颜色和半径,一个方法getArea,返回值为double,获取圆的面积值。3) 第三个类是矩形类(Rectangle)继承自图形,含有两个double类型的成员变量长a和宽b,有一个有三个参数的构造方法,来初始化颜色、长和宽,一个方法getArea,返回值为double,获取矩形的面积值。4) 第四个类是测试类(TestShape),分别定义圆形类和矩形类的实例对象,并用show方法,getArea方法来测试自己的定义5. 假定银行的一个存取款系统有两类客户,一类是现金用户,一类是信用卡用户。银行对每个客户都要登记其姓名name,并为之分配一个唯一的账户号码aid,现金用户还要记录其卡的类型(工资卡、借记卡、理财卡),而信用卡用户则根据其信用级别有一定的透支限额lineOfCredit(A级10000元、B级5000元、C级2000元、D级1000元)。每种客户都可以实现存deposit、取withdraw、和查询余额getBalance,信用卡用户还可以查询透支情况findOverdraw。对于现金用户,每次取款操作只能在账户实际额度balance内操作,允许现金用户改变自己的帐户类型。1) 分析有哪些属性和方法可以作为两个子类的共同属性和方法,然后写出抽象类Account的定义。2) 分析CashAccount有那些新增的属性和方法,定义一个继承于Account的子类CashAccount。3) 分析CreditAccount有那些新增的属性和方法,然后定义一个继承于Account的子类CreditAccount,添加增加的属性和方法。4) 请按照要求编写一个程序Test,用你所定义的类完成下列业务操作。(1) 用Account作为类型定义两个变量c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药膳汤品食材规范
- 工作场所职业病危害告知牌
- 体检报告解读专业话术手册
- 厂房坍塌应急救援预案
- 蔬菜采后预冷处理管理规范
- 暴雨防汛应急响应工作方案
- 长期服务关怀计划方案
- 重大危险源专项风险管控措施
- 颈椎牵引标准操作流程
- 风电场临电布置方案
- MSOP(测量标准作业规范)测量SOP
- 供应链中的再制造与回收
- ARCGIS中提取坡位方法
- 灵魂出生前的人生计划
- 太阳能热水器自动控制系统毕业设计
- 电力电子技术第二版张兴课后习题答案
- 国际商务谈判课件(同名951)
- 《煤矿安全规程》专家解读(详细版)
- 2023年新教科版科学六年级下册学生活动手册答案
- 中枢神经系统淋巴瘤的诊断和治疗 课件
- 幼儿园大班安全:《危险的洞洞》 课件
评论
0/150
提交评论