在关于课程和课程的课程中挣扎CodeHS的子类

时间:2017-10-23 22:08:14

标签: java

我在课堂上花了两天时间试图解决这个问题,但我不了解一些错误。

我实际上在这个网站上发现了一个类似的问题,但我仍然没有得到它。

该课程的名称是4.12.4服装店。

  

在这个问题中,您将设计一些代表不同的类   服装店的衣服。

     

你将为TShirt,Jeans,Sweatshirt和Clothing编写课程。

     

服装类应该有两个实例变量:一个用于   衣服的大小(一个字符串),另一个是衣服的颜色   (也是一个字符串)。

     

服装也应该有两个访问者(getter方法):

public String getSize()
public String getColor()
     

Sweatshirt类应该有一个私有实例变量(或者   字段)存储它是否有引擎盖,以及相应的   getter方法

public boolean hasHood()
     

TShirt类应该有一个私有字段来存储结构和a   相应的吸气剂叫做

public String getFabric()
     

所有牛仔裤都应该是蓝色。

     

构造函数应采用以下格式:

public Clothing(String size, String color)
public TShirt(String size, String color, String fabric)
public Sweatshirt(String size, String color, boolean hasHood)
public Jeans(String size)

以下是我的代码:

public class Clothing
{
    public String size;
    public String color;

    public Clothing(String size, String color)
    {
        this.size = size;
        this.color = color;
    }

    public String getSize()
    {
        return size;
    }

    public String getColor()
    {
        return color;
    }

}


public class TShirt extends Clothing
{
    private String fabric;

    public TShirt(String size, String color, String fabric)
    {
        super(size, color);
        this.fabric = fabric;
    }

    public String getFabric()
    {
        return fabric;
    }
}


public class Sweatshirt extends Clothing
{
    private boolean hasHood;

    public Sweatshirt(String size, String color, boolean hasHood)
    {
        super(size, color);
        this.hasHood = hasHood;
    }

    public boolean getHasHood()
    {
     return this.hasHood;
    }
}


public class Jeans extends Clothing
{
    public Jeans(String size)
    {
        super(size);
    }
}

我的错误:

  

错误:Jeans.java:建设者服装在课堂上服装不可能   适用于给定类型;

     

Grader.java:您可能忘记声明hasHood()或者它已经出局了   范围

1 个答案:

答案 0 :(得分:1)

Jeans只将一个参数传递给超级构造函数。您没有Clothing的单参数构造函数。使Clothing(String size)或您的Jeans类可以将默认值传递给super。像super(size, "Blue")或其他任何合适的。

编辑:

getHasHood()更改为hasHood()。您的班级正在强制执行您的命名约定。