[问题] 继承方法的缺点

楼主: aoksc (重出江湖)   2019-06-07 11:10:10
请问各位
在跟同事说明少把工具方法直接写在基础类别
因为这样会让全部继承的类别都拥有这方法
但这些方法又只有一两个地方用到
有同事故意challenge说
写在父类别又怎样
没用到就没用到阿!
我也只能反击说这会让整个程式码很杂乱
不过也的确就不要呼叫就好
不考虑到DI的问题我的反击论点的确是很薄弱
请问有什么更强力的观点可以反击继承方法没用到没差
所以可以把方法都写在父类别中的谬论
作者: annies5 (念渝)   2019-06-07 11:28:00
并不是要不要放在父类别,而是这个方法是不是“该”放在这里
作者: t64141 (榕树)   2019-06-07 13:36:00
重点是这个方法是不是属于这个类别内的功能,不是使用次数
作者: jizang (阿鲁米)   2019-06-07 19:21:00
继承可以有多层,或者可以考虑实作界面。
作者: ssccg (23)   2019-06-07 20:19:00
重点是这个方法是不是属于这个类别内的功能,还有这个方法的存取权限该设成什么,你只提工具方法、一两个地方实在没办法具体讨论适不适合那一两个地方到底是哪一两个地方,那方法到底是在干麻
作者: CloudyWing (孤单ㄉ翼)   2019-06-07 20:45:00
是否可以举个例子,我觉得重点不在是否只有一两个地方使用,而是这个method和父类别或子类别哪个相关性高
作者: forewero (木日一)   2019-06-07 23:43:00
我觉得这种Helper Function就用组合去做吧,用继承可以,但是当子类别也要用这个method,而且略有不同时该怎办?很容易就暴走了而且后续维护的人会起笑
作者: Randy1230 (Randylol)   2019-06-08 08:52:00
继承 会使类别复杂 ,个人认为。看程式的需求以及维护方式
作者: Litfal (Litfal)   2019-06-08 12:43:00
都不在乎,叫他回去写函数导向就好了啊你不是主管也不是客户,提点一下就好,他坚持就让他坚持吧
作者: feeya (24 August 升格为乡民)   2019-06-10 11:57:00
可以考虑用static 来分类阿
作者: testPtt (测试)   2019-06-10 21:29:00
我想到wpf的attached property 完全不用改到原来的类别
作者: Nilife (Al-Qaeda)   2019-06-11 17:41:00
问他有没有听过可读性
作者: cia1099 (阿兜啊)   2019-06-12 23:53:00
c#的继承不是只能有一层?没什么杂乱或c++的层层叠在一起吧
作者: t64141 (榕树)   2019-06-13 00:28:00
C# 是不能多重继承, 不是继承只能有一层
作者: vi000246 (Vi)   2019-06-13 00:37:00
可以举喷射机继承鸟类类别的例子鸟类会飞、会叫 结果弄个飞机继承它 整个逻辑都错乱了为了一时的方便这样搞 只会让系统越来越难维护不过有些人的心态是会动就好.. 你不是主管就随他去吧你可以google 里氏替换原则
作者: testPtt (测试)   2019-06-14 08:31:00
只要鸟类没有吃东西大便等多余的功能 飞机继承它是ok的

Links booklink

Contact Us: admin [ a t ] ucptt.com