我在这里读了一篇博文:http: //codeofdoom.com/wordpress/2009/02/12/learn-this-when-to-use-an-abstract-class-and-an-interface/
public interface Actor{
Performance say(Line l);
}
public interface Director{
Movie direct(boolean goodmovie);
}
public interface ActorDirector extends Actor, Director{
...
}
它说:实际上,有些演员也是导演。如果我们使用接口而不是抽象类。我们可以使用抽象类来实现同样的目的。不幸的是,替代方案需要多达2^n(其中 n 是属性的数量)可能的组合才能支持所有可能性。
问题:为什么抽象类在这里更好?为什么 2^n ?
public abstract class ActorDirector implements Actor,Director{
}