繁体   English   中英

是否从父类访问子类被视为反模式

[英]Is accessing child class from parent class considered anti-pattern

例如

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

public class Bar extends Foo
{

}

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

是。

不好的原因是因为它破坏了封装。 如果有人更改Foo ,他们就会意识到他们可能会更改所有子类。 如果有人更改Bar ,那么他们永远不必考虑更改其超类; 无论Bar的内容如何,​​其超类都应相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM