0

例如

public abstract class Foo
{
    public Bar f1()
    {
        return new Bar();
    }
}

public class Bar extends Foo
{

}

从设计的角度来看,你同意这种设计是反模式的吗?

4

1 回答 1

1

是的。

它不好的原因是它破坏了封装。如果有人更改Foo,他们会意识到他们可能会更改所有子类。如果有人改变了Bar,他们不应该考虑改变它的超类;无论Bar.

于 2012-10-05T06:21:39.583 回答