2017-09-04 91 views
-1
public class ChildClassFactory 
{ 
    public List<BaseClass> Create(int[] numbers) 
    { 
     // Check: If got 2 items in array create the `Childclass` 
     //  If got 3 create the `Child2class`. 
     //  Otherwise exception 
     // here i want return all object togather 
    } 
} 
public abstract class BaseClass // base class 
{ 

} 
public class Childclass : BaseClass // childclass1st 
{ 

} 
public class Child2class : BaseClass // childClass 2nd 
{ 

} 

在Childclassfactory类的方法称为创建是返回值类型列表<> 如何退还所有的对象在一起抽象类型基类的返回列表对象

+0

不要标记垃圾邮件 - 这不是C++,但C# –

+0

标记是不是越来越暴露你的问题。这是关于正确指定您的问题域。除非您询问C++,否则不要标记C++。 – StoryTeller

+0

到目前为止您尝试过什么? –

回答

1

可以使用Factory design pattern:一个天真的实现它会是:

public class ChildClassFactory 
{ 
    public BaseClass Create(int[] numbers) 
    { 
     if(numbers.Length == 2) 
      return new Childclass(numbers[0], numbers[1]); 
     if(numbers.Length == 3) 
      return new Childclass(numbers[0], numbers[1], number[2]); 
     throw new SomeException(); 
    } 
} 

更复杂的实施方式将不具有if else(或switch case)的create方法,但将有办法delega输入一个适当的创建者类。查看更多关于DoFactory网站:FactoryMethodAbstract Factory和这个博客上Factory patterns

+0

明白了...... Thnx bro @Gilad –

+0

@NitinWare不要忘了也赞同这个问题:) –

+0

我是新来的。请告诉我如何upvote @TalhaIrfan –