- 250
- 0
- 约2.93千字
- 约 5页
- 2017-06-09 发布于北京
- 举报
实验四 继承性和多态
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.playSound(new Cat(“加菲猫”));
People
height:double
weight:double
speakHello():void
averageHeight():void
averageWeight():voi
原创力文档

文档评论(0)