0

必须创建一个抽象类,比如 Part。但是有两种类型的部分,

Part1:这部分有3个实例变量,inside,outside,middle

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 回答