Java 尝试将实例变量初始化为具有直径和颜色的形状实例

Java 尝试将实例变量初始化为具有直径和颜色的形状实例,java,bluej,Java,Bluej,我已经编写了一个类StickFigure,它是熟悉的“StickPerson”的简化表示。为了在图形显示中显示棒状图形,我将其简化为基本要素,并将其构建为圆形、三角形和矩形 StickFigure有一个xPos和一个yPos,这也是仅有的两个实例变量 到目前为止,我已经声明了另外三个实例变量head、body和leg,它们将引用Circle、Triangle和Rectangle的实例。我想我做对了 Circle aHead = new Circle(); Triangle aBody = new

我已经编写了一个类StickFigure,它是熟悉的“StickPerson”的简化表示。为了在图形显示中显示棒状图形,我将其简化为基本要素,并将其构建为圆形、三角形和矩形

StickFigure有一个xPos和一个yPos,这也是仅有的两个实例变量

到目前为止,我已经声明了另外三个实例变量head、body和leg,它们将引用Circle、Triangle和Rectangle的实例。我想我做对了

Circle aHead = new Circle();
Triangle aBody = new Triangle();
Rectangle aLeg = new Rectangle();
我现在正在尝试创建StickFigure的构造函数,以便它将头部初始化为直径为30、颜色为color.PINK的圆形实例。我不知道该怎么做!以下是我迄今为止所做的工作

public StickFigure()
{
    super();      
    this.setXPos(25);
    this.setYPos(220); 
}
到目前为止,整个代码:

`public class StickFigure { /*Instance variables*/ 
private int xPos//粘贴图形的水平位置
private intypos//粘贴图形的垂直位置

//我的声明
前方圆圈=新圆圈();
三角形aBody=新三角形();
矩形aLeg=新矩形();
/** *StickFigure类对象的构造函数 *在图形显示的左下角附近提供默认的棍状图形。 * */

public StickFigure()
{
super();
这个.setXPos(25);

this.setYPos(220;         

{

这是一个可能的、非常基本的解决方案:

enum Colour {
    BLACK,
    WHITE
}

class BodyPart {
    Colour colour;

    public BodyPart() {}

    public BodyPart(Colour colour) {
        this.colour = colour;
    }
}

class Circle extends BodyPart {
    private int diameter;

    public Circle(Colour colour, int diameter) {
        super(colour);
        this.diameter = diameter;
    }

    //getter and setter
}

class Triangle extends BodyPart {
    //whatever you want here
}

class Rectangle extends BodyPart {
    //whatever you want here
}

class StickFigure {
    private Circle head;
    private Triangle body;
    private Rectangle leg; // it could be a list of legs :D

    public StickFigure(Circle head, Triangle body, Rectangle leg) {
        super();
        this.head = head;
        this.body = body;
        this.leg = leg;
    }

    public static void main(String[] args) {
        StickFigure sf = new StickFigure(new Circle(Colour.BLACK, 10), new Triangle(), new Rectangle());

    }
}

圆圈
三角形
类来自哪里?哪个软件包?我用这些形状创建了棒状图形,现在我正在编写一个程序,这些就是类。Blue JI认为你的目标是将构成棒状图形的三个形状作为实例变量,因为它们最终与你的然后,你只需在构造函数中使用所需的参数初始化所有三个形状。你可能想看看面向对象编程中合成和聚合之间的区别。我理解。但你如何操作这些形状将取决于你实际使用的
圆圈
类。Java没有有一个
Circle
类,所以如果你没有编写它,那么它一定来自其他地方什么都没有。如果你告诉我们它属于哪个包,那应该可以清楚地确定你正在使用什么,并允许我们帮助你。你的棍子图形由头、身体和腿组成,因此它应该包含每个部分的实例变量。在Circle类中,你可以添加一个颜色枚举变量,以便你可以设置它s相应的颜色(在本例中,每个部分都有不同的颜色),或者如果您只需要一种颜色,则直接将其添加到粘性图形中。您好,开发人员,我已经添加了完整的代码。到目前为止,我所做的是什么