2017-09-04 130 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 –