rust杂谈

1. rust为什么没有继承?

 继承和组合是面向对象编程中两种常见的代码重用方式

继承:

优点:

  1. 它可以实现代码的重用,从父类继承的属性和方法可以在子类中直接使用。
  2. 继承链的扩展。通过继承可以构建继承链,使得子类可以继承祖先类的所有属性和方法,从而提高代码的可扩展性和可维护性。
  3. 继承和组合都可以实现多态,即同一个方法在不同的子类中表现出不同的行为。

缺点:

  1. 父类的改变会影响子类。如果父类的实现发生变化,所有继承自该父类的子类都需要相应地进行修改,这会增加代码的维护成本。
  2. 继承关系的耦合度高。子类和父类之间是紧密耦合的关系,这会影响代码的灵活性和可移植性。

那么组合呢,组合相对于继承有如下特点:

组合:

优点:

  1. 组合可以减少代码的耦合性,因为对象之间的关系是松散的,修改一个对象不会影响到其他对象。
  2. 组合可以实现更灵活的代码设计,因为可以根据需要组合不同的对象。
  3. 接口隔离。组合可以实现接口隔离,将不同的功能模块分别实现,提高代码的可复用性。

缺点:

  1. 代码量增加。相比于继承,组合需要增加更多的代码来实现不同的模块组合。
  2. 对象之间的交互复杂。组合关系下,对象之间的交互有时需要复杂的接口定义和实现,增加了代码的复杂度。

2. 

3.

 

posted @ 2023-03-11 19:52  PKICA  阅读(5)  评论(0编辑  收藏  举报