题目:
在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半径计算圆形的面积和周长,矩形都有宽和高,可以根据宽高来计算矩形的面积和周长。
1、编写Java程序。
(1)使用继承机制,分别设计实现抽象基类图形类,派生类圆形类、正方形类、长方形类,要求:
①抽象图形类中有属性画笔颜色、图形是否填充,有方法获取图形面积、获取图形周长等;
②使用构造方法为其成员属性赋初值;
③在每个派生类中都重写toString()方法,返回所有属性的信息;
④根据文字描述合理设计类的其他成员属性和方法。
(2)设计实现画板类,要求:
①画一个红色、无填充、长和宽分别为10.0与5.0的长方形;
②画一个绿色、有填充、半径为3.0的圆形;
③画一个黄色、无填充、边长为4.0的正方形;
④分别求三个对象的面积和周长,并将每个对象的所有属性信息打印到控制台。
设计图形抽象类
package com.ltm;
/*抽象类
* */
public abstract class graphical implements comparable{
public String color;
public String fill;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getFill() {
return fill;
}
public void setFill(String fill) {
this.fill = fill;
}
public abstract double perimeter ();
public abstract double area();
public int compareTo(graphical graphical) {
int i=0;
if(this.area()>graphical.area()){
return i=1;
}else if (this.area()<graphical.area()) {
return i=-1;
}else if (this.area()==graphical.area()) {
return i=0;
}
return i;
}
}
package com.ltm;
/*圆形类*/
public class Round extends graphical{
protected int radius;
public Round() {
}
public Round(int radius) {
this.radius=radius;
}
public int getRadius() {