9-java语言实验 - 面向对象基础(接口-抽象类)

2019-09-01 22:46

面向对象编程(四)

【上机目的】

1) 理解接口和抽象类的概念 2) 掌握接口中使用多态的原理 3) 掌握内部类 4) 掌握匿名类 5) 掌握final关键字 【上机环境】 JDK1.8+UltraEdit 【上机准备】

1) 复习课件中理论知识 2) 练习课堂所讲的例子 【上机内容】

一、抽象类和final关键字

1. 定义一个抽象类VolumeArea

? 所包含的属性:PI 定义为常量 ? 包含两个抽象方法:

floatvolume(double r)计算体积 float area(double r)计算面积

2. 自定义类VolumeAndArea,继承自VolumeArea,实现父类的抽象方法 其中体积公式为:??×??????÷?? 3. 自定义测试类Test,进行测试。

二、利用抽象类实现多媒体处理(必做)

定义Media抽象类,在Media类中定义抽象方法viewMedia()。由Media派生出Music、Movie和Ebook子类。使这些子类覆盖(重写)viewMedia()方法。 1、新建Media项目

2、在项目中新建Media抽象类,位于base.abs包中

Media抽象类的抽象方法:

①public abstract void viewMedia();本抽象方法实现多媒体处理 3、在项目中新建Music类,位于base.abs包中,继承Media类

Music类的方法:

①public void viewMedia() 本方法实现音乐处理(重写父类方法) 4、在项目中新建Movie类,位于base.abs包中,继承Media类

Moviec类的方法:

①public void viewMedia() 本方法实现电影处理(重写父类方法) 5、在项目中新建Ebook类,位于base.abs包中,继承Media类

Ebook类的方法:

①public void viewMedia() 本方法实现电子书处理(重写父类方法) 6、在项目中新建Test类,位于base.abs包中

在main()方法中完成以下操作:

(1)创建一个Movie类对象,调用对象的viewMedia()方法,实现电影媒体处理;

(2)创建一个Music类对象,调用对象的viewMusic()方法,实现音乐媒体处理;

(3)创建一个Ebook类对象,调用对象的viewEbook()方法,实现电子书处理。

三、利用接口技术实现几何图形运算(必做)

在几何图形中,按图形的几何维数分为平面图和立体图。所有的平面图都能计算周长和面积,所有的立体图都能计算表面积和体积。定义Shape2D和Shape3D接口,分别描述平面图和立体图的特征和行为,在Shape2D中定义计算周长和面积的方法,Shape3D继承Shape2D接口,新增计算体积方法。定义Circle圆类和Sphere球类,分别实现Shape2D和Shape3D接口。

1、新建Graph项目

2、在项目中新建IShape2D接口,位于base.inter包中

IShape2D接口的抽象方法:

①public double computePerimeter(); 本方法计算周长 ②double computeArea(); 本方法计算面积

3、在项目中新建IShape3D接口,位于base.inter包中,继承IShape2D接口

IShape3D接口的抽象方法:

①double computeVolume();本方法计算体积 4、在项目中新建IScalable接口,位于base.inter包中

IScalable接口的抽象方法:

①void scale(double factor);本方法缩放图形

5、在项目中新建Circle类,位于base.inter包中,实现接口IShape2D,IScalable

(1)Circle类的属性:protected double radius; (2)Circle类的方法

①public Circle ()本构造方法用来构建空的圆对象 ②public Circle(double radius)

本构造方法在创建圆对象的同时给对象的属性赋值。 ③public double getRadius()本方法获取对象的半径

④public void setRadius(double radius)本方法设置对象的半径

⑤public double computePerimeter()本方法返回对象的周长(实现接口方法)

⑥public double computeArea()本方法返回对象的面积(实现接口方法) ⑦public void scale(double factor)本方法按factor值缩放圆半径(实现接

口方法)

6、在项目中新建Sphere类,位于base.inter包中,继承Circle类,实现接

口IShape3D,IScalable (1)Sphere类的方法

①public Sphere()本构造方法用来构建空的球对象 ②public Sphere (double radius)

本构造方法负责将参数传递给父类构造方法。

③public double computeVolume()本方法返回球对象的体积(实现接口方法)

④public double computeArea()本方法返回球对象的表面积(重写父类方法)

⑤public void scale(double factor)本方法按factor值缩放球半径(实现接

口方法)

7、在项目中新建Test类,位于base.inter包中

在main()方法中完成以下操作:

(1)定义double变量factor,表示图形的缩放系数,初值自定;

(2)创建一个Circle类对象,调用带参构造方法实例化对象,调用对象的相关方法,输出圆对象的原半径值、周长、面积、缩放后的半径值; (3)创建一个Sphere类对象,调用带参构造方法实例化对象,调用对象的相关方法,输出球对象的原半径值、面积、体积、缩放后的半径值。

多态本质:父类引用可也指向不同的子类实例,父类调用不同子类重写的方

法可实现不同功能! 注意:父类只能调用父类与子类共有的方法,不能调用父类没有子类没有的方法!即子类向上转型为父类后,会损失很多子类新的特色。

四、利用接口技术实现计算器功能(多态)

1. 定义一个接口Compute

? 所包含的行为:public double computer(doublen,double m) 2. 自定义类Plus,实现Compute接口 3. 自定义类Minus,实现Compute接口 4. 自定义类Multiply,实现Compute接口 5. 自定义类Divide,实现Compute接口 6. 自定义测试类UseCompute,进行测试。

? 所包含的行为:public void useCompute(Compute com, int one, int two)


9-java语言实验 - 面向对象基础(接口-抽象类).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:武安市康二城镇政府信息公开目录

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

马上注册会员

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