0

Part などの抽象クラスを作成する必要があります。パーツは2種類あるのですが、

Part1: このパーツには、inside、outside、middle の 3 つのインスタンス変数があります。

Part2: このパーツには、2 つのインスタンス変数、top、bottom があります。

最後に、どちらの Part も抽象クラスの Part を拡張しているため、最終的に Java では次のようになります。

abstract Class Object{
   public abstract String toString();
}

abstract class Part{
    abstract void print();
}

Class Part1 extends Part1{
    List <Object> inside = new ArrayList <Object> ();
    List <Object> outside = new ArrayList <Object> ();
    List <Object> medium = new ArrayList <Object> ();
    void print(){
        //go through all the list and print the object
    }
}

Class Part1 extends Part2{
    List <Object> top = new ArrayList <object> ();
    List <Object> bottom = new ArrayList <object> ();
    void print(){
        //go through all the list and print the object
    }
}

私の問題は、パーツの作成にどのデザインパターンを適用できるかということです。私はまだパターンの初心者です。私にとっては、表現が異なる同じタイプのオブジェクトを考え出す必要があるためです。しかし、オブジェクトは複雑ではありません!!

4

1 に答える 1

0

http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns#Creational_Patternsを参照してください。

私はファクトリーパターンの使用またはプロトタイプを好みます:

プロトタイプの例:

Class PartsFactory
{
    Part createPart(string partType)
    {
        if (partType.equals("Type1")) return new Part1();
        if (partType.equals("Type2")) return new Part2();
        return null;
    }
}

工場の例:

interface PartsFactory
{
    Part createPart();
}

Class Parts1Factory implements PartsFactory
{
    Part createPart()
    {
        return new Part1();
    }
}

Class Parts2Factory implements PartsFactory
{
    Part createPart()
    {
        return new Part2();
    }
}
于 2013-02-11T22:34:00.743 に答える