出这个题目的脑子估计是进了翔了。
屏蔽是什么意思?语法上不再有这个方法了,还是这个方法不再起作用(但是仍可调用)?
让人以为“可以”而运行时根本就抛出异常,或者运行时其实是new了另外一个业务上根本无关方法,这种东西都不算是“屏蔽”。只能说比lz的要求更低级。 lz至少考虑到了“屏蔽”!也就是说,他至少考虑到在程序设计时期、在程序编译时(而不是运行时)就让开发工具帮助程序员避免滥写程序。 但是这个我们还是要禁止的!因为编程它本身并不是高尚的事情(它只是堆砌代码而已),只有借助更为高级的程序设计思路,通过面向对象规则测试,直接能够成文自明地将代码与设计思路高效率地匹配,编程才能体现出价值。因此不是简单地讨论“可以不可以编程”的问题。
有时候一点点的违背却能换来很多,所以我经常喜欢在墙上打洞,只要不倒主梁也未尝不可。 楼主可以直接复制代码,然后删除不需要的信息,。。。
从OOAD的角度,既然选择了继承,你这种屏蔽的需求就是和继承的定义相违背的; 从软件复用的角度,除了继承,还可以直接复制, 楼主可以直接复制代码,然后删除不需要的信息(这是OOAD推荐的做法,虽然复制不是OOAD的概念); 另一方面,由于目前流行的OOPL大多数是混合型OOPL,比如C#, 于是实践中,诸如屏蔽父类成员这种自相矛盾的做法很可能是能是可行的,比如可以:private new, 又比如:明明OOPL不支持OOAD的多继承,却可以通过接口变态的模拟实现
13,190
社区成员
5,761
社区内容
加载中
试试用AI创作助手写篇文章吧