优点:
1、代码共享,减少类的创建,子类共享父类的属性和方法【程序设计初期很关键】,例如OA的流程,流程都有提交动作,提交的时候都需要请求后台接口,并且不同流程提交要指向不同的接口,这个时候就可以把进行数据接收和基本处理的接口定义为父类,然后每个不同的OA流程提交时调用方法都需要执行父类的方法进行数据接收和基本处理
2、提高代码的重用性;
3、子类可以形似父类,但又异于父类;
4、提高代码的可扩展性;
5、提高产品或项目的开放性。
缺点:
1、继承是侵入性的。只要继承,就必须拥有父类的属性和方法。
2、降低代码的灵活性。子类会多一些父类的约束。
3、增强了耦合性。当父类的常量、变量、方法被修改时,需要考虑子类的修改。