閱讀以下說(shuō)明、圖和Java代碼,填補(bǔ)Java代碼中的空缺(1)~(6),將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
已知對(duì)某幾何圖形繪制工具進(jìn)行類(lèi)建模的結(jié)果如圖6.1所示,其中Shape為抽象(abstract)類(lèi),表示通用圖形,Box(矩形)、Ellipse(橢圓)和Line(線條)繼承(extends)了Shape類(lèi),其中,Circle表示圓(即特殊的橢圓)。
下面的Java代碼用于實(shí)現(xiàn)圖6-1所給出的設(shè)計(jì)思路,將其空缺處填充完整并編譯運(yùn)行,輸出結(jié)果為:
Ellipse
Circle
Ellipse
C
E
【Java代碼】
(1) class Shape{
public Shape(String name){
this.name= name;
}
(2) void paint( );
String getName( ){
return this.name;
}
final String name;
};
//Box和Line類(lèi)似下面Ellipse,其代碼略
class Ellipse (3) {
public Ellipse(String name){
super(name);
System.out.println("Ellipse");
}
Void paint( ){ //繪制現(xiàn)狀示意代碼
System.out.println(getName( ));
}
};
class Circle (4) {
public Circle(String name){
super(name);
System.out.println("Circle");
}
};
class Diagram{
private Shape shapes[ ]= new Shape[2];
public void drawAShape(Shape shape) {
shape.paint( );
}
void eraseAShape(Shape shape) {
//刪除形狀,代碼略
}
void drawShapes( ) {
shapes[0]= new Circle("C”);
shapes[1]= new Ellipse("E");
for (int i=0; i<2;++i) {
drawAShap (shapes[i]); //繪制形狀
}
}
void close( ){
for (int i=0;i<2; ++i) { //關(guān)閉圖,刪除所繪制圖形
(5) ;
}
}
public static void main(String[ ] args) {
Diagram diagram= (6) ;
diagram.drawShapes( );
diagram.close( );
}
}