继承代表了一种 "is-a"的关系,还可以理解为是对被继承者的特殊化,除了具备被继承者的特性外,还具备有自己的独有个性,他定义类之间如何关联共享.
- 子类拥有父类非private的属性和功能
- 子类可以扩展父类没有的属性和功能
- 子类还可以以自己的方式实现父类的功能(方法重写)
- 子类不能继承基类的构造方法,只能被调用,可以使用base关键词
- 继承使得所有子类公共的部分都放在了父类,使得代码得到共享,避免重复
- 使得修改或扩展变得容易
- 缺点,父类变则子类不得不变,破坏封装,父类实现的细节暴露给子类
- 强耦合的关系,当2个类具备is-a的关系时,就可以考虑用继承