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 に答える