首页
统计
关于
Search
1
Sealos3.0离线部署K8s集群
1,085 阅读
2
类的加载
742 阅读
3
Spring Cloud OAuth2.0
726 阅读
4
SpringBoot自动装配原理
691 阅读
5
集合不安全问题
586 阅读
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
FastApi
登录
Search
标签搜索
Java
CSS
mysql
RabbitMQ
JavaScript
Redis
JVM
Mybatis-Plus
Camunda
多线程
CSS3
Python
Spring Cloud
注解和反射
Activiti
工作流
SpringBoot
Mybatis
Spring
html5
蘇阿細
累计撰写
389
篇文章
累计收到
4
条评论
首页
栏目
笔记
Java
多线程
注解和反射
JVM
JUC
设计模式
Mybatis
Spring
SpringMVC
SpringBoot
MyBatis-Plus
Elastic Search
微服务
Dubbo
Zookeeper
SpringCloud
Nacos
Sentinel
数据库
MySQL
Oracle
PostgreSQL
Redis
MongoDB
工作流
Activiti7
Camunda
消息队列
RabbitMQ
前端
HTML5
CSS
CSS3
JavaScript
jQuery
Vue2
Vue3
Linux
容器
Docker
Kubernetes
Python
FastApi
页面
统计
关于
搜索到
1
篇与
的结果
2022-08-27
合成复用原则
定义:尽量先使用组合或聚合等关联关系来实现,其次才考虑使用继承关系来实现类的复用通常分为:继承复用、合成复用继承复用破坏了类的封装性,将父类的实现细节暴露给了子类,父类对子类是透明的,这种复用又称为“白箱”复用耦合度高,父类的实现的任何变化都会导致子类的实现发生变化,不利于类的维护和扩展灵活性低,从父类继承而来的实现是静态的,在编译时已定义,所以在运行时不可能发生变化合成复用(可将已有对象纳入新对象中,使之成为新对象的一部分,新对象可以调用已有对象的功能)维持了类的封装性,因为成员对象的内部细节是新对象看不见的,所以又称为“黑箱”复用耦合度低,可以在类的成员位置声明抽象灵活性高,这种复用可以在运行时动态进行,新对象可以动态的引用与成员对象类型相同的对象以汽车分类管理为例:汽车按动力源可分为汽油车、新能源车;按颜色可分为白色、红色;如果同时考虑这两种成分,会产生多种组合可以看出使用继承复用会产生很多子类,如果要添加新的能源类型的车,就需要再定义新的类
2022年08月27日
48 阅读
0 评论
0 点赞