实现Comparable接口的Circle类 下载本文

内容发布更新时间 : 2024/5/7 14:35:09星期一 下面是文章的全部内容请认真阅读。

《程序设计实践I》

题目: 实现Comparable接口的Circle类

实践二 面向对象程序设计实践

一、实践目的

1.掌握类的定义,对象的创建。

2.掌握实现封装、继承、多态的方法,掌握各种修饰符的使用。 3.掌握将对象数组作为方法的参数和返回值。

4.掌握抽象类与接口的概念及实现,理解动态绑定机制。 5.掌握通过组合与继承,实现代码可复用。

二、实践要求

综合使用封装、继承、多态、抽象类与接口、组合及继承等面向对象知识,给出所选项目的面向对象设计与实现。

三、项目需求

所选项目名称:实现Comparable接口的Circle类 可以访问该圆的颜色,是否填充颜色及创建的日期,同时还可以查询半径为任意值的周长与面积。 四、项目设计方案

实现Comparable接口的Circle类

几何对象有许多共同的属性和行为,都可以是用某种颜色画出

来的、填充的或不填充的。这样,一个通用类GeometricObject可以用来建该对象,这个类包括属性color和filled,以及适用于这些属性的get和set方法。由于圆是一个特殊类型的几何对象,所以它和其他几何对象共享共同的属性和方法,因此,通过扩展GeometricObject

2

类来定义Circle类,同理,Rectangle也可以声明为GeometricObject的子类。

a. 运用继承和多态

GeometricObject -filled: boolean -color: String -dateCreated: java.util.Date +GeometricObject() +GeometricObject(color:String, filled:Boolean) +getColor():String +setColor(color: String):void +isFilled():Boolean -radius:double

b. 或者是运用抽象类和接口

3

+setFilled(filled:boolean):void +getDateCreated():java,util.Date +toString():String Circle -width:double -height:double +Rectangle() Rectangle +Circle() +Circle(radius:double) +Circle(radius:double,color:String, filled:boolean) +getRadius():double +setRadius(radius:double):void +getArea():double +getPerimeter():double +getDiameter():double +printCircle():void +Rectangle(width:double,height:double) +Rectangle(width:double,height:double color:String,filled:Boolean) +getWidth():double +setWidth(width:double):void +getHeight():double +setHeight(height:double):void +getArea():double +getPerimeter():double GeometricObject -filled: boolean -dateCreated: java.util.Date #GeometricObject() filled:Boolean) -color: String #GeometricObject(color:String, +getColor():String +setColor(color: String):void +isFilled():Boolean +setFilled(filled:boolean):void +toString():String +getDateCreated():java,util.Date +getArea():double +getPerimeter():double -radius:double Circle -width:double -height:double +Rectangle() +Rectangle(width:double,height:double) +Rectangle(width:double,height:double color:String,filled:Boolean) +getWidth():double +setWidth(width:double):void +getHeight():double +setHeight(height:double):void +getArea():double +getPerimeter():double Rectangle +Circle() +Circle(radius:double) +Circle(radius:double,color:String, filled:boolean) +getRadius():double +setRadius(radius:double):void +getArea():double +getPerimeter():double +getDiameter():double +printCircle():void 五、核心算法详细设计 实现Comparable接口的Circle类

a、运用继承和多态

1、GeometricObject类 1)成员变量

? color是string型变量,filled是boolean型变量,dateCreated 是Date型变量。它们的值分别确定颜色、是否填充颜色、创建日

4

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()显示日期的半径的值

5