C# 组合和继承
继承和组合
继承和组合都是提高代码可重用和减少冗余的手段。
组合:
在新类里创建现有类的对象。我们把这种方式称之为组合,因为新类是由现有的类组合而成,
我们只是简单重复的利用了现有类里面的一些功能代码,而不是采用它的形式。
优点:
1.每个类都专注于一个任务
2.具有较好的扩展性
3.整体类和局部类都彼此相对独立
缺点:
1.创建整体类的对象时,需要创建所有的局部类。
2.可能导致的结果就是一个类中会包含更多的对象。
继承:
继承就是从一个类派生出另一个类,被派生出来的类就叫作子类,子类自动拥有父类的所有公共的属性和方法。
好处:
1.耦合度高,易于层次性管理
2.创建整体类的对象时,不需要再创建局部类。
3.易于修改和扩展父类已实现的方法。
坏处:
1.耦合度高,父类变子类不得不变。
2.子类过分依赖父类的实现,缺乏独立性。
3.支持扩展,但会增加父类结构的复杂性。
总结:
当多个类之间存在 is a的关系时,就可以使用继承。
否,建议,采用组合的方式,将现有类作为的新类的一部分。
一般情况下,组合比继承具有更高的灵活性和稳定性,一般情况推荐使用
组合和继承都有他们的用处,根据使用的场景下进行筛选和斟酌。