c – 具体类的继承是否邪恶?

c – 具体类的继承是否邪恶?,第1张

概述我为大多数类型使用接口/抽象基类,并且不经常从具体类继承,但是我最近遇到需要继承或组合的情况.我已经意识到一个界面“程序到界面而不是实现”,但最近决定深入挖掘. 我已经看到参数against inheritance,我已经看到了反对arguments,但我很好奇大型代码库的其他维护者实际上在现实生活中做了什么.恐惧是夸张吗?你是从具体的班级继承还是继承怀疑论者呢?我特别感兴趣的是那些在C工作的人的 我为大多数类型使用接口/抽象基类,并且不经常从具体类继承,但是我最近遇到需要继承或组合的情况.我已经意识到一个界面“程序到界面而不是实现”,但最近决定深入挖掘.

我已经看到参数against inheritance,我已经看到了反对arguments,但我很好奇大型代码库的其他维护者实际上在现实生活中做了什么.恐惧是夸张吗?你是从具体的班级继承还是继承怀疑论者呢?我特别感兴趣的是那些在C工作的人的听力.

解决方法 不是C人(在c#,java和ruby中有大型企业系统的专业经验),但这里是我的2美分

这不是黑白的事情.

继承的问题是引入紧耦合.更糟糕的是,耦合通常是封装状态.超级类的变化可能会产生波纹效应,降低继承层次,创造微妙而难以预测的错误.

接口隔离完全避开这些问题,因为它不会以同样的方式破坏封装.

关于继承的好处是,有时候你有一个对象模型真的是一样的东西,只是一个很小的变化或增加.只要这种变化非常清楚,范围不广泛,而不是额外的约束(参见circle-ellipse问题),代码重用将胜过紧耦合.

我根据经验,坚持继承遗产,而不是法律.

总结

以上是内存溢出为你收集整理的c – 具体类的继承是否邪恶?全部内容,希望文章能够帮你解决c – 具体类的继承是否邪恶?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234946.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存