- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实现Comparable接口的Circle类.doc
《程序设计实践I》
题目: 实现Comparable接口的Circle类
实践二 面向对象程序设计实践
一、实践目的
1.2.掌握.。..掌握通过组合与继承实现代码可复用
综合使用封装、继承、多态、抽象类与接口、组合及继承等面向对象知识,给出所选项目的面向对象设计与实现。
三、项目需求
所选项目名称:实现Comparable接口的Circle类
可以访问该圆的颜色,是否填充颜色及创建的日期,同时还可以查询半径为任意值的周长与面积。
四、项目设计方案
实现Comparable接口的Circle类
几何对象有许多共同的属性和行为,都可以是用某种颜色画出来的、填充的或不填充的。这样,一个通用类GeometricObject可以用来建该对象,这个类包括属性color和filled,以及适用于这些属性的get和set方法。由于圆是一个特殊类型的几何对象,所以它和其他几何对象共享共同的属性和方法,因此,通过扩展GeometricObject类来定义Circle类,同理,Rectangle也可以声明为GeometricObject的子类。
运用继承和多态
或者是运用抽象类和接口
五、核心算法详细设计
实现Comparable接口的Circle类
a、运用继承和多态
1、GeometricObject类
1)成员变量
color是string型变量,filled是boolean型变量,dateCreated 是Date型变量。它们的值分别确定颜色、是否填充颜色、创建日期
2)构造方法
GeometricObject()和GeometricObject(String, boolean)
3)方法
getColor()返回颜色的值
setColor(String)设置返回颜色,并且数值类型为String型
isFilled()返回是否填充颜色的值
setFilled(boolean)设置是否填充颜色,并且数值类型为boolean
getDateCreated()返回日期的值
toString()返回颜色、是否填充颜色和日期的值
2、Circle类
1)成员变量
radius是double型变量,是确定半径。
2)构造方法
Circle()、Circle(double)和Circle(double, String, boolean)
3)方法
getRadius()返回半径的值
setRandius(double)设置半径,并且值的类型为double
getArea()返回面积的值
getDiameter()返回直径的值
getPerimeter()返回周长的值
printCircle()显示日期的半径的值
4)内部设计
Circle类使用下面的语法扩展GeometricObject类
子类 父类
public class Circle extends GeometricObject{
关键字extends告诉编译器,Circle类扩展GeometricObject类,这样,它就继承了getColor、setColor、isFilled、setFilled和toString方法。
重载的构造方法Circile(double radius,String color,Boolean filled)是通过调用getColor和setFilled方法设置color和filled属性来执行的。这两个公共方法是在基类GeometricObject中定义的,在Circle中继承。可以在派生类中使用它们。
可以尝试在构造方法中使用数据域color和filled,如下所示:
public Circle(double radius,String color,boolean filled){
this.radius =radius;
setColor(color);
setFilled(filled);
}
这是错的,因为GeometricObject类中的私有数据域color和filled是不能被除了GeometricObject类本身之外的其他任何类访问的。唯一读取和改变color与filled的方法就是通过它们的get和set方法。
3、Rectangle类
1)成员变量
width和height是boolean型变量,它们的值分别确定宽度和高度
2)构造方法
Rectangle()、Rectangle(double, double) 和Rectangle(double, double, String, boolean)
3)方法
getWidth()返回宽度的值
setWidth(double)设置宽度,并且值为double型
getHeight(
文档评论(0)