阅读以下说明和Java代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。 【说明】 以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图8所示。 【Java代码】 i

admin2019-10-07  43

问题 阅读以下说明和Java代码,填写程序中的空(1)~(6),将解答写入答题纸的对应栏内。
    【说明】
    以下Java代码实现一个简单绘图工具,绘制不同形状以及不同颜色的图形。部分接口、类及其关系如图8所示。

    【Java代码】
    interface DrawCircle{    //绘制圆形
    public _____(1);
    }
    class RedCircle implements DrawCircle{    //绘制红色圆形
    public void drawCircle(int radius,int x,int y)  {
    System.out.println(’’Drawing Circle[red,radius:’’+radius+’’,x:’’+x+’’,y:’’+y+’’]’’);
    }
    }
    class GreenCircle implements DrawCircle{  ∥绘制绿色圆形
    public void drawCircle(int radius,int x,int y){
    System.out.println(’’Drawing Circle[green,radius:’’+radius+’’,x:’’+x+’’,y:’’+y+’’]’’);
    }
    }
    abstract class Shape{  //形状
    protected  _____(2);
    public Shape(DrawCircle drawCircle){
    this.drawCircle=drawCircle;
    }
    public abstract void draw();
}
class Circle extends Shape{  ∥圆形
    private int x,y,radius;
    public Circle(int x,int y,int radius,DrawCircle drawCircie){
    _____(3);
    this.x=x:
    this.y=y;
    this.radius=radius;
    }
    publicvoiddraw(){
    drawCircle._____(4);
    }
}
public class Draw CircleMain{
    public static void main(String[]args){
    Shape red Circle=new Circle(100,100,10, _____(5));  //绘制红色圆形
    Shape green Circle=new Circle(200,200,10,_____(6));  //绘制绿色圆形
    red Circle.draw();
    green Circle.draw();
    }
}

选项

答案(1)void drawCircle(int radius,int x,int y) (2)DrawCircle drawCircle (3)super.drawcircle=drawcircle (4)drawCirele(radius,x,y) (5)new RedCircle() (6)new GreenCircle()

解析 第(1)空是填接口里面的方法,在接口的实现里面找,可以发现应该填void drawCircle(int radius,int x,int y)。
    第(2)空可以根据后面this drawCircle=drawCircle判断,这里应该有一个(drawCircle属性,因此应该填)DrawCircle drawCircle。
    第(3)空这里用super,用super.drawcircle来引用父类的成员。
    第(4)空调用drawCircle(radius,x,y)方法。
    第(5)、(6)空分别创建一个红色圆形对象和一个绿色圆形对象作为Circle里面的实参。
转载请注明原文地址:https://kaotiyun.com/show/7zxZ777K
0

相关试题推荐
最新回复(0)