- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 继承性和多态
1.根据下面的要求,编写程序实现:
程序模拟中国人、美国人是人、北京人是中国人。主类外,程序中还有类:。要求:
eople类有权限是成员变量以及。
ChinaPeople是子类,新增了。要求父类的。
是eople的子类,新增。要求mericanPeople重写父类的。
eijingPeople类是子类,新增。要求父类的。的如所示:
2.根据下面的描述,编写实现: 假设银行有了按整年利息的一般方法,其中取正整数。比如整年计算的方法:
double computerInterest() {
interest=year*0.35*saveedMoney;
return interest;
}
银行子类,准备隐藏继承的成员变量并重写计算利息的方法,即自己一个的,比如,当为,表示要计算零的利息,但希望首先按方法出的利息,然后再自己计算的利息。那么建设银行就必须把整数部分赋给隐藏的并让隐藏的、按整年计算利息的方法。
ingdao类是的子类,使用隐藏的成员变量和方法。
ConstructionBank的如下所示:
注:整年利率:0.035 ,按天计算利率:0.0001
功能扩展:
建设银行或青岛银行,再编写一个商业银行,让程序输出存在商业银行零的利息。
3.根据下面要求,编写一个Java应用程序:
用类封装手机的基本属性和功能,要求手机即可以使用移动公司的SIM卡也可以使用联通公司SIM卡(可以使用任何公司提供的SIM卡)。
①.设计抽象类:设计一个抽象类SIM,该类有三个抽象方法:giveNumber()、setNumber()和giveCorpName()
②.设计手机类:设计MobileTelephone,该类有useSIM(SIM card)方法
③.各公司手机卡类:设计SIMOfChinaMobile、SIMOfChinaUnicom类
各类之间的关系如下:
编程定义各类,并在主类中进行测试。
4.根据下面要求,编写Java应用程序实现:
要求有一个abstract类,类名为Employee。Employee的子类有YearWorker、MonthWorker、WeekWorker。YearWorker对象按年领取薪水,MonthWorker按月领取薪水,WeekWorker按周领取薪水。Employee类有一个abstract方法:
public abstract earnings();
子类必须重写父类的earnings()方法,给出各自领取报酬的具体方式。
有一个Company类,该类用Employee对象数组作为成员,Employee对象数组的元素可以是YearWorker对象的上转型对象、MonthWorker对象的上转型对象或WeekWorker对象的上转型对象。程序能输出Company对象一年需要支付的薪水总额。
5.对于各种几何图形,一般都有求图形的面积、周长等方法。现在有圆、矩形和三角形三种图形,要求通过类来实现求三种图形的面积。
问题分析:
三种图形都有相同的方法,因此可以抽象出一个抽象类:图形类,该类有抽象的求面积方法。然后由该抽象类生成3个子类:圆类、矩形类、三角形类。在主类中实现求各类图形的面积。
各类之间的关系如下:
在子类中,定义构造方法,实现对子类成员变量的初始化。
编程定义各类,并在主类中进行测试。
6.设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下:
编写抽象类Animal
Animal抽象类有2个抽象方法cry()和getAnimalName(),即要求各种具体的动物给出自己的叫声和种类名称。
编写模拟器类Simulator
该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型。即参数animal可以调用Animal的子类重写的cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。
编写Animal类的子类:Dog和Cat类
各类的UML图如下所示:
在各子类中通过构造方法实现对子类成员变量的初始化。
编写主类Application(用户程序)
在主类Application的main方法中至少包含如下代码。
Simulator simulator = new Simulator();
simulator.playSound(new Dog(“藏獒”));
simulator.playSou
文档评论(0)