01 基本概念
在现实世界中,任何一个概念都不是独立存在的,都存在与之相关的概念,这些概念之间存在各种各样的关系。在面向对象的方法中,使用类表示概念,那么概念和概念之间的关系,就是类和类之间的关系
如:
当提到“计算机”这个概念的时候
很快就会想到CPU,内存,主板,显卡......
也会想到台式机,笔记本,游戏本,平板,手机......
在上面的例子中,类和类之间的关系主要存在两种:(1) 组合(Composite)
如计算机是由CPU,内存,主板,显卡 ...... 等类型的对象组合而成的(如:矩形类拥有Size,Point,Color)
也称为has-a的关系(有一个)
(2) 继承(Inheritance)如台式机,笔记本,游戏本,平板,手机 ...... 都是"计算机",都是由计算机引申出来的概念(是一个特别的计算机)
称为is-a的关系(是一个),它们都具有"计算机"共同的属性
那么什么是继承呢?用来做什么?有什么好处呢?
在已有类型的基础上创建新的类型,新类型拥有(继承了)已有类型的所有特性
继承主要用来描述那些非常相似,只有细微差别的类之间的关系
继承可以实现代码重用,减少代码的冗余,提高开发效率