rust杂谈
1. rust为什么没有继承?
继承和组合是面向对象编程中两种常见的代码重用方式
继承:
优点:
- 它可以实现代码的重用,从父类继承的属性和方法可以在子类中直接使用。
- 继承链的扩展。通过继承可以构建继承链,使得子类可以继承祖先类的所有属性和方法,从而提高代码的可扩展性和可维护性。
- 继承和组合都可以实现多态,即同一个方法在不同的子类中表现出不同的行为。
缺点:
- 父类的改变会影响子类。如果父类的实现发生变化,所有继承自该父类的子类都需要相应地进行修改,这会增加代码的维护成本。
- 继承关系的耦合度高。子类和父类之间是紧密耦合的关系,这会影响代码的灵活性和可移植性。
那么组合呢,组合相对于继承有如下特点:
组合:
优点:
- 组合可以减少代码的耦合性,因为对象之间的关系是松散的,修改一个对象不会影响到其他对象。
- 组合可以实现更灵活的代码设计,因为可以根据需要组合不同的对象。
- 接口隔离。组合可以实现接口隔离,将不同的功能模块分别实现,提高代码的可复用性。
缺点:
- 代码量增加。相比于继承,组合需要增加更多的代码来实现不同的模块组合。
- 对象之间的交互复杂。组合关系下,对象之间的交互有时需要复杂的接口定义和实现,增加了代码的复杂度。
2.
3.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2022-03-11 MongoDB自动删除过期数据--TTL索引