实验4 继承性和多态.docVIP

  • 57
  • 0
  • 约4.27千字
  • 约 5页
  • 2019-09-10 发布于山西
  • 举报
实验四 继承性和多态 实验目的:熟悉JAVA中的继承性和多态性。掌握子类的定义及用法,继承机制中的隐藏与覆盖。子类的构造方法的用法,对象的上转型对象,抽象类与抽象方法等。 实验要求: 1.根据下面的要求,编写Java应用程序实现: 编写程序模拟中国人、美国人是人、北京人是中国人。除主类外,程序中还有4个类:People、ChinaPeople、AmericanPeople和BeijingPeople类。要求如下: People类有权限是protected的double型成员变量height和weight,以及public void speakHello()、public void averageHeight()和public void averageWeight()方法。 ChinaPeople类是People的子类,新增了public void chinaGongfu()方法。要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。 AmericanPeople类是People的子类,新增public void americanBoxing()方法。要求AmericanPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。 BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera()方法。要求ChinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。 People、ChinaPeople、AmericanPeople和BeijingPeople类的UML图如下图所示: People People height:double weight:double speakHello():void averageHeight():void averageWeight():void AmericanPeopleamericanBoxing AmericanPeople americanBoxing():void ChinaPeople chinaGongfu():void BeijingPeople BeijingPeople beijingOpera():void 2.根据下面的描述,编写Java程序实现: 假设银行Bank已经有了按整年year计算利息的一般方法,其中year只能取正整数。比如按整年计算的方法: double computerInterest() { interest=year*0.35*saveedMoney; return interest; } 建设银行ConstructionBank是Bank的子类,准备隐藏继承的成员变量year,并重写计算利息的方法,即自己声明一个double型的year变量,比如,当year取值为5.216时,表示要计算5年零216天的利息,但希望首先按银行Bank的方法computerInterest()计算出5整年的利息,然后再自己计算216天的利息。那么,建设银行就必须把5.216的整数部分赋给隐藏的year,并让super调用隐藏的、按整年计算利息的方法。 要求ConstructionBank和BankOfQingdao类是Bank类的子类,ConstructionBank和BankOfQingdao都使用super调用隐藏的成员变量和方法。 ConstructionBank、BankOfQingdao和Bank类的UML图如下所示: Bank Bank savedMoney:int year:int interest:double computerInterest():double ConstructionBankyear:doublecomputerInterest(): ConstructionBank year:double computerInterest():double BankOfQingdao year:double computerInterest():double 注:整年利率:0.035 ,按天计算利率:0.0001 功能扩展: 参照建设银行或青岛银行,再编写一个商业银行,让程序输出8000元存在商业银行8年零236天的利息。 3.根据下面要求,编写一个Java应用程

文档评论(0)

1亿VIP精品文档

相关文档