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

内容发布更新时间 : 2024/5/21 4:53:02星期一 下面是文章的全部内容请认真阅读。

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)构造方法

6

? Rectangle()、Rectangle(double, double) 和Rectangle(double, double, String, boolean)

3)方法 ? ? ? ? ? ?

getWidth()返回宽度的值

setWidth(double)设置宽度,并且值为double型 getHeight()返回高度的值

setHeight(double)设置高度,并且值为double型 getArea()返回面积 getPerimeter()返回周长

4)内部设计

Rectangle类使用下面的语法扩展GeometricObject类

子类 父类

public class Rectangle extends GeometricObject{

关键字extends告诉编译器,Rectangle类扩展GeometricObject

类,这样,它就继承了getColor、setColor、isFilled、setFilled和toString方法。 4、TextCircleRectangle类 1)方法

? main(String[])是程序运行的入口方法。 2)内部设计

创建了Circle和Rectangle的对象,并调用这些对象上的方法。toString()方法继承自GeometricObject类,并且从Circle对象:

System.out.println(\+circle.toString());和Rectangle对象: System.out.println(\+rectangle.toString());调用。

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

1、GeometricObject类

7

1)成员变量

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

2)构造方法

GeometricObject()和GeometricObject(String, boolean) 3)方法

? getColor()返回颜色的值

? setColor(String)设置返回颜色,并且数值类型为String型 ? isFilled()返回是否填充颜色的值

? setFilled(boolean)设置是否填充颜色,并且数值类型为boolean ? getDateCreated()返回日期的值

? toString()返回颜色、是否填充颜色和日期的值 ? getArea() ? getPerimeter() 2、Circle类

1)成员变量

? radius是double型变量,是确定半径。 2)构造方法

Circle()、Circle(double)和Circle(double, String, boolean) 3)方法

? getRadius()返回半径的值

8

? 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类本身之外的其他任何类访问的。唯一读取和

9

改变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()返回高度的值

? setHeight(double)设置高度,并且值为double型 ? getArea()返回面积 ? getPerimeter()返回周长 4)内部设计

Rectangle类使用下面的语法扩展GeometricObject类

子类 父类

public class Rectangle extends GeometricObject{

关键字extends告诉编译器,Rectangle类扩展GeometricObject类,这

样,它就继承了getColor、setColor、isFilled、setFilled和toString方法。

4、TestGeometricObject类 1)方法

? main(String[])是程序运行的入口方法。

10