- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章类和对象的扩展
【实验目的】
(1) 类的继承
a. 掌握父类及子类的关系及创建方法
b. 掌握上转型对象的使用方法
c. 掌握子类对象创建过程中与父类构造方法的关系,及super 关键字的用法
(2) 多态与接口
a. 掌握抽象类与抽象方法的概念
b. 掌握多态的实现原理及方法
c. 了解成员变量的隐藏
d. 掌握接口的设计方法
【实验范例】
例1:(继承)
(1)编写一个圆类Circle,该类拥有:
①一个成员变量
Radius (私有,浮点型);// 存放圆的半径;
②两个构造方法
Circle( ) // 将半径设为0
Circle(double r )//创建Circle 对象时将半径初始化为r
③三个成员方法double getArea( ) //获取圆的面积
double getPerimeter( ) //获取圆的周长
void show( ) //将圆的半径、周长、面积输出到屏幕
(2 )编写一个圆柱体类Cylinder ,它继承于上面的Circle 类。还拥有:
①一个成员变量
double hight (私有,浮点型);// 圆柱体的高;
②构造方法
Cylinder (double r, double h ) //创建Circle 对象时将半径初始化为r
③成员方法
double getVolume( ) //获取圆柱体的体积
void showVolume( ) //将圆柱体的体积输出到屏幕
编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、
圆面积、圆周长,圆柱体的体积。
程序代码:
class Circle { // 定义父类--园类
private double radius; // 成员变量--园半径
Circle() { // 构造方法
radius = 0.0;
}
Circle(double r) { // 构造方法
radius = r;
}
double getPerimeter() { // 成员方法--求园周长
return 2 * Math.PI * radius;
}
double getArea() { // 成员方法--求园面积
return Math.PI * radius * radius;
}
void disp() { // 成员方法--显示园半径、周长、面积
System.out .println(圆半径= + radius);
System.out .println(圆周长= + getPerimeter());
System.out .println(圆面积= + getArea());
}
}
class Cylinder extends Circle { // 定义子类--圆柱类
private double hight; // 成员变量--园柱高
Cylinder(double r, double h) { // 构造方法
super(r);
hight = h;
}
public double getVol() { // 成员方法--求园柱体积
return getArea() * hight;
}
public void dispVol() { // 成员方法--显示园柱体积
System.out .println(圆柱体积= + getVol());
}
}
public class Prog1 { // 定义主类
public static void main(String[] args) { // 主程入口
Circle Ci = new Circle(10.0); // 生成园类实例
Ci.disp(); // 调用园类的方法
Cylinder Cyl = new Cylinder(5.0, 10.0); // 生成圆柱类实例
Cyl.disp(); // 调用父类方法
Cyl.dispVol(); // 调用子类方法
文档评论(0)