类的继承

简-简-单-单 2014-02-26 02:14:58
加精
在子类的继承父类的过程中,通过什么方法屏蔽掉父类中制定的属性和方法?
...全文
6002 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
shmy110 2016-03-09
  • 打赏
  • 举报
回复
引用 5 楼 caozhy 的回复:
出这个题目的脑子估计是进了翔了。
哈哈哈哈哈 。。。顶。很久才逛一次csdn发现这里真的很多很搞人的奇葩问题。。。
猫霸 2016-02-22
  • 打赏
  • 举报
回复
new关键字和Override关键字就可以
挨踢直男 2016-02-15
  • 打赏
  • 举报
回复
你可以写个代理模式
wjft001 2016-02-15
  • 打赏
  • 举报
回复
不继承不久就OK啦
rayyu1989 2016-02-12
  • 打赏
  • 举报
回复
路过,打个酱油。。。
ld13320087402 2016-02-12
  • 打赏
  • 举报
回复
路过,打酱油。。。
  • 打赏
  • 举报
回复
引用 33 楼 DelphiGuy 的回复:
屏蔽是什么意思?语法上不再有这个方法了,还是这个方法不再起作用(但是仍可调用)?
lz 的意思,应该是前者。
秋的红果实 2016-02-07
  • 打赏
  • 举报
回复
过年了,这是娱乐吧
q354354534656565 2016-02-06
  • 打赏
  • 举报
回复
469273159
lpitt13 2016-02-05
  • 打赏
  • 举报
回复
需要这么做,说明类的设计有问题
  • 打赏
  • 举报
回复
屏蔽是什么意思?语法上不再有这个方法了,还是这个方法不再起作用(但是仍可调用)?
u012469914 2015-04-02
  • 打赏
  • 举报
回复
引用 19 楼 sp1234 的回复:
让人以为“可以”而运行时根本就抛出异常,或者运行时其实是new了另外一个业务上根本无关方法,这种东西都不算是“屏蔽”。只能说比lz的要求更低级。 lz至少考虑到了“屏蔽”!也就是说,他至少考虑到在程序设计时期、在程序编译时(而不是运行时)就让开发工具帮助程序员避免滥写程序。 但是这个我们还是要禁止的!因为编程它本身并不是高尚的事情(它只是堆砌代码而已),只有借助更为高级的程序设计思路,通过面向对象规则测试,直接能够成文自明地将代码与设计思路高效率地匹配,编程才能体现出价值。因此不是简单地讨论“可以不可以编程”的问题。
学习了!
rooer 2015-04-01
  • 打赏
  • 举报
回复
用shadow
五更琉璃 2015-03-16
  • 打赏
  • 举报
回复
这是去年的帖子
於黾 2015-03-16
  • 打赏
  • 举报
回复
我觉得还是从设计开始解决吧 不好好设计,到真正制作的时候修修改改,乱打补丁,这东西会产生很多意想不到的BUG的
joyhen 2015-03-16
  • 打赏
  • 举报
回复
这种说法就体现了设计上的问题。但是就题目而言,解决方式好多种 http://blog.csdn.net/Joyhen/article/details/39993867 http://blog.csdn.net/joyhen/article/details/44289631
newpowerbuilder 2015-03-10
  • 打赏
  • 举报
回复
如果你碰到要屏蔽,你设计绝对出现问题。
缪军 2015-01-18
  • 打赏
  • 举报
回复
引用 20 楼 zixingcheng_ 的回复:
有时候一点点的违背却能换来很多,所以我经常喜欢在墙上打洞,只要不倒主梁也未尝不可。 楼主可以直接复制代码,然后删除不需要的信息,。。。
这里我要重申的是:复制代码这件事情本身并不违背OOAD的价值取向 复制本身就是重用的一种, 拥有部分相同属性或方法的事物多了去了,要学会甄别那是巧合还是规律 有些人整天靠复制粘贴干活,还有些人动辄就叫嚣复制代码就是胶水程序员, 这两种态度都是不懂OOAD的表现
zixingcheng_ 2015-01-16
  • 打赏
  • 举报
回复
引用 16 楼 microtry 的回复:
从OOAD的角度,既然选择了继承,你这种屏蔽的需求就是和继承的定义相违背的; 从软件复用的角度,除了继承,还可以直接复制, 楼主可以直接复制代码,然后删除不需要的信息(这是OOAD推荐的做法,虽然复制不是OOAD的概念); 另一方面,由于目前流行的OOPL大多数是混合型OOPL,比如C#, 于是实践中,诸如屏蔽父类成员这种自相矛盾的做法很可能是能是可行的,比如可以:private new, 又比如:明明OOPL不支持OOAD的多继承,却可以通过接口变态的模拟实现
有道理,有矛盾才有取舍,才有纠结,有时候一点点的违背却能换来很多,所以我经常喜欢在墙上打洞,只要不倒主梁也未尝不可。 楼主可以直接复制代码,然后删除不需要的信息,但是某些代码又做不到复用了,自己取舍,如果是自己代码小范围使用,可人为说明进行屏蔽,new下,返回错误值,方法说明里标识下不再使用,小范围的使用问题也不大。 当然我还是建议尽量不这么做,定义合理的基类是十分有必要。。。
software_artisan 2015-01-16
  • 打赏
  • 举报
回复
既然不用,何苦继承呢?如果你只是为了使用几个现成的方法的话,可以把那几个方法提取到一个公共类里面去,然后大家都调用它不就可以了?
加载更多回复(19)

13,190

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 分析与设计
社区管理员
  • 分析与设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧