实验五 - 继承与接口

2020-03-27 06:12

实验五 继承与接口

1. 实验目的

1、掌握类的继承细节内容,包括子类的继承、子类对象创建、成员变量的继承与隐藏、方法的继承与重写

2、掌握重写的目的以及怎样使用super关键字 3、掌握上转型对象与接口回调技术

4、掌握类怎样实现接口,及面向接口的编程思想

2. 实验内容

1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行得出结果。

1)实验1中国人与美国人 2)实验2银行与利息 3)实验3面积之和 4)实验4歌手大赛 5)实验5天气预报

2、设计编写程序完成以下任务。

1)根据要求修改实验2,参照建设银行再编写一个商业银行(广发行),让程序输出8000元在广发行8年零212天的利息。

2) 根据要求修改实验3,再增加一种几何图形(梯形),并让主类中的tuxing的某些元素是梯形的上转型对象。

3)仿照实验5编写一个程序实现模拟水杯中的水在不同温度下可能出现的状态。

4)编写一个接口并创建两个实现该接口的类A、B。A、B类实现了接口的f方法,A类的f方法内容为计算1!+3!+5!??+9!并返回结果,B类的f方法内容为计算2!+4!+6!??+10!也返回结果;再编一个执行类,执行类运行时要求通过接口回调方式用同一个对象实例分别调用A类的f方法和B类的f方法。

5)

(1)定义一个汽车类Vehicle,要求如下:(知识点:类的继承 方法的覆盖) (a)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型)。

(b)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。

(c)为属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。 (d)定义一个一般方法run(),用打印语句描述汽车奔跑的功能。

定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。

(2)定义一个Vehicle类的子类轿车类Car,要求如下: (a)轿车有自己的属性载人数loader(int 类型)。 (b)提供该类初始化属性的构造方法。

(c)重新定义run(),用打印语句描述轿车奔跑的功能。

(d)定义测试类Test,在其main方法中创建一个品牌为“Honda”、颜色为“red”,载人数为2人的轿车。

面向对象基础出过类似的,这个把继承引入了

6)Cola公司的雇员分为以下若干类:(知识点:多态) (1) ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份。

方法:getSalary(int month) 根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励100 元。

(2) SalariedEmployee : ColaEmployee 的子类,拿固定工资的员工。 属性:月薪 (3) HourlyEmployee :ColaEmployee 的子类,按小时拿工资的员工,每月工作超出160 小时的部分按照1.5 倍工资发放。

属性:每小时的工资、每月工作的小时数

(4) SalesEmployee :ColaEmployee 的子类,销售人员,工资由月销售额和提成率决定。

属性:月销售额、提成率

(5) 定义一个类Company,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类TestCompany,在main方法,把若干各种类型的员工放在一个ColaEmployee 数组里,并单元出数组中每个员工当月的工资。

知识点:继承与多态

7)利用接口实现动态的创建对象:(知识点:接口 ) (1)创建4个类 1苹果 2香蕉 3葡萄 4园丁

(2)在三种水果的构造方法中打印一句话. 以苹果类为例

class apple { public apple() { System.out.println(“创建了一个苹果类的对象”); } }

(3)类图如下:

<<接口>>FruitApplePearOrangesGardener+create() : Fruit

(4)要求从控制台输入一个字符串,根据字符串的值来判断创建三种水果中哪个类的对象。

运行结果如图:

3. 实验步骤

实验一、1

实验一、2

实验一、3

实验一、4

实验一、5

实验二、1

package SFirst;

public class Bank {

int savedMoney; int year; double interest;

double interestRate=0.29;

public double computerInterest(){ }

public void setInterestRate(double rate) {

interest=year*interestRate*savedMoney; return interest;

}

}

interestRate = rate;

package SFirst;

public class GuangFaBank extends Bank{ }

package SFirst;

public class SaveMoney { }

public static void main(String[] args) { }

int amount=8000;

GuangFaBank bank1=new GuangFaBank(); bank1.savedMoney=amount; bank1.year=8.212;

bank1.setInterestRate(0.035);

double interest1=bank1.computerInterest();

System.out.println(\元在广发行8年零212天的利息为:\+interest1); double year;

public double computerInterest(){ }

super.year=(int)year; double r=year-(int)year; int day=(int)(r*1000);

double yearInterest=super.computerInterest();//【代码1】//super调用隐double dayInterest=day*0.0001*savedMoney; interest=yearInterest+dayInterest; return interest;

藏的computerInterest()方法

实验结果

实验二、2

package SSecond;

public abstract class Geometry {


实验五 - 继承与接口.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:数学课堂教学方法的多样性-精选教育文档

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: