You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

18 lines
1.0 KiB

继承(本次实验使用方式)
优点:
代码复用:子类自动继承父类的抽象方法约束,统一接口。
多态支持:父类引用指向子类对象,实现统一处理(如 ShapeUtil.printArea)。
结构清晰:符合 “is-a” 关系(圆形是一种图形、矩形是一种图形)。
缺点:
耦合度高:子类与父类强绑定,父类修改会影响所有子类。
无法多继承:Java 中一个类只能继承一个父类,扩展性受限。
破坏封装:子类可能过度依赖父类的内部实现。
2. 组合
定义:通过 “包含” 其他类的实例来实现功能,符合 “has-a” 关系(如图形包含颜色、位置等属性类)。
优点:
低耦合:类之间通过接口交互,修改内部实现不影响调用方。
灵活性高:可动态组合多个对象,实现更复杂的功能。
符合 “合成复用原则”:优先使用组合而非继承。
缺点:
代码量稍多:需要手动创建对象引用并委托调用。
不直接支持多态的 “is-a” 语义表达。