两个类之间的关系(德国代码)

时间:2014-02-04 21:45:14

标签: java

我想创建一个数组,通过使用类Schiff(Armada),我可以使用该数组创建类Flotte(Ship)的一些实例。不知怎的,它不起作用。哪种方法更有用? addShiffaddSchiff2

public class Schiff
{
private String material;
private int kanonen;
private int ursprungsMäste;
private int mästeStehenNoch;

public Schiff (String material, int kanonen, int mäste)
{
    this.material = material;
    this.kanonen = kanonen;
    ursprungsMäste = mäste;
    mästeStehenNoch = mäste;
}

public String gibMaterial()
{
    return material;
}

public void mastGetroffen(int wieVieleTreffer)
{
    mästeStehenNoch = mästeStehenNoch - wieVieleTreffer;
}


public void wieVieleMäste ()
{
    System.out.println("Es stehen noch " + mästeStehenNoch + " Mäste!");
}
}

+++++++

public class Flotte
{
private Schiff [] flottenArray;

public Flotte ()
{
    flottenArray = new Schiff [100];
}

public void addSchiff (String material, int kanonen, int ursprungsMäste)
{
    for (int zahl = 0; zahl<flottenArray.length; zahl++)
    {
        if (flottenArray[zahl] == null)
        {
            flottenArray[zahl] = new Schiff (material, kanonen, ursprungsMäste);
        }
    }
}

    public void addSchiff2 (Schiff neuesSchiff)
{
    for (int zahl = 0; zahl<flottenArray.length; zahl++)
    {
        if (flottenArray[zahl] == null)
        {
            flottenArray[zahl] = neuesSchiff;
        }
    }
}

public void gegnerischerFeuerAngriff ()
{
    for (Schiff schiff : flotte)
    {
        if (schiff.gibMaterial().equals("holz"))
        {
            flottenArray.remove(schiff);
        }
    }
}
}

1 个答案:

答案 0 :(得分:1)

究竟什么不起作用?

对我来说很好。

我的感觉是您可以删除addSchiff (String material, int kanonen, int ursprungsMäste)方法,因为:

一个:这只是写addSchiff2(new Schiff(material, kanonen, ursprungsMäste))的另一种方式,这也是应该如何编码以避免repeating yourself

public void addSchiff (String material, int kanonen, int ursprungsMäste)
{
   addSchiff2(new Schiff(material, kanonen, ursprungsMäste))
}

两个:如果您稍后决定向类Schiff添加字段,则必须更改Flotte的接口,如果您保留构造{{1}的方法来自传递参数的实例。如果您只有一个采用Schiff实例的方法,则情况并非如此。所以摆脱Schiff减少了阶级间的耦合,这是肠道。

Klar zur Halse!

相关问题
最新问题