0

我有一个抽象类“Actor”,它应该生成一个实现的具体类的列表(ArrayList,也许是最好的选择),让我们使用“Actor1”。有三个或更多的具体类 Actor1,2,3... 是使用工厂方法创建的,并且它们都必须创建 Actor1(s) 的列表。

有什么建议吗?

好吧,没想到反应这么快。好吧,因为我一开始不明白,所以到目前为止,一些代码是这样的:

public abstract class Actor implements IActor { 
   protected Coordinates coordinates;
   protected List<Actor> actor1;
   public Actor(Coordinates coordinates) { 
      this.coordinates = coordinates;    
      //How to implemet the list? 
   } 

   public Coordinates getLocation() { 
      return coordinates; 
   }

   public void setCoordinates(Coordinates coordinates) { 
      this.coordinates = coordinates; 
   }
4

1 回答 1

1

我会让 Actor 成为一个绑定到自身的泛型类型,然后在具体的子类中进一步限制它。

public abstract class Actor<A extends Actor<A>> {

    public List<A> getActors() { ...

}

public class Actor1 extends Actor<Actor1> { ...

这样,getActorsfromActor1将返回一个List<Actor1>.

于 2013-08-15T15:00:04.057 回答