在GeOb类里加个 Colorable 接口字在子类里实现就好~~定义数组的时候要注意数组里的元素要逐个 new 实例,父类是抽象类的话,要用子类实现~~JAVA越来越好用了嘛~~怪不得JAVA比较好找工作
GeOb类~~多加个了借口
public abstract class GeOb{
private String color = "white";
private boolean filled;
protected java.util.Date da;
protected GeOb(){
da = new java.util.Date();
}
public GeOb(String color,boolean filled){
da = new java.util.Date();
this.color = color;
this.filled = filled;
}
public void setGe(String color,boolean filled){
da = new java.util.Date();
this.color = color;
this.filled = filled;
}
public String getcolor(){
return color;
}
public void setcolor(String color){
this.color = color;
}
public boolean getfillrd(){
return this.filled;
}
public void setfilled(boolean filled){
this.filled = filled;
}
public java.util.Date getda(){
return da;
}
public String toString(){
return "created on " + da + "\ncolor : " + color + " and filled : " + filled;
}
public void howToColor() {
System.out.println("Color all four sides ");
}
interface Colorable{
public void howToColor();
}
public abstract double getArea();
public abstract double getPerimeter();
}
Square 类~也即子类
class Square extends GeOb{
public double getArea() {
return 0;
}
public double getPerimeter() {
return 0;
}
public void howToColor() {
System.out.println("Color all four sides ");
}
}
Text1 实现代码 :
public class Text1 {
public static void main(String[] args) {
GeOb[] a = new GeOb[10]; // 定义数组对象
for(int i = 0 ; i < 5 ; i++)
a[i] = new Square(); // 把数组里的元素逐一 new 成实例
a[0].setGe("write",true);
a[1].setGe("write",true);
a[2].setGe("write",false);
a[3].setGe("write",false);
a[4].setGe("write",true);
for(int i = 0 ; i < 5 ; i++){
System.out.println(a[i].getfillrd());
if(a[i].getfillrd())
a[i].howToColor();
}
}
}