rust杂谈
1. rust为什么没有继承?
继承和组合是面向对象编程中两种常见的代码重用方式
继承:
优点:
- 它可以实现代码的重用,从父类继承的属性和方法可以在子类中直接使用。
- 继承链的扩展。通过继承可以构建继承链,使得子类可以继承祖先类的所有属性和方法,从而提高代码的可扩展性和可维护性。
- 继承和组合都可以实现多态,即同一个方法在不同的子类中表现出不同的行为。
缺点:
- 父类的改变会影响子类。如果父类的实现发生变化,所有继承自该父类的子类都需要相应地进行修改,这会增加代码的维护成本。
- 继承关系的耦合度高。子类和父类之间是紧密耦合的关系,这会影响代码的灵活性和可移植性。
那么组合呢,组合相对于继承有如下特点:
组合:
优点:
- 组合可以减少代码的耦合性,因为对象之间的关系是松散的,修改一个对象不会影响到其他对象。
- 组合可以实现更灵活的代码设计,因为可以根据需要组合不同的对象。
- 接口隔离。组合可以实现接口隔离,将不同的功能模块分别实现,提高代码的可复用性。
缺点:
- 代码量增加。相比于继承,组合需要增加更多的代码来实现不同的模块组合。
- 对象之间的交互复杂。组合关系下,对象之间的交互有时需要复杂的接口定义和实现,增加了代码的复杂度。
2.
3.