2021
02-21
02-21
c# 如何用组合替代继承
如果问面向对象的三大特性是什么,多数人都能回答出来:封装、继承、多态。继承作为三大特性之一,近来却越来越不推荐使用,更有极端的语言,直接语法中就不支持继承,例如Go。这又是为什么呢?为什么不推荐使用继承?假设我们要设计一个关于鸟的类。我们将“鸟类”定义为一个抽象类AbstractBird。所有更细分的鸟,比如麻雀、鸽子、乌鸦等,都继承这个抽象类。大部分鸟都会飞,那我们可不可以在AbstractBird抽象类中,定义一...
继续阅读 >