博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码复用
阅读量:6183 次
发布时间:2019-06-21

本文共 446 字,大约阅读时间需要 1 分钟。

1、代码复用有两个方式:继承和复合。

2、继承分为public继承和private继承,public继承是继承接口,也就是父类提供的接口,子类承若仍然提供,内部有可能修改实现,子类与父类是IS-A关系。private继承是继承实现,父类提供的接口,子类不再提供,子类与父类不是IS-A的关系,不满足里氏代换,private表示的意义是,根据某物来实现。

3、复合可以分为关联,聚合,组合。关联是一对一的关系,聚合和组合都是多对一的关系,但二者的紧密程度不一样。举例来说,大雁聚合成雁群,翅膀和脚组合成大雁。复合表示的意义也是,根据某物来实现。更合理的说法应该是,委托某物去做某件事。

4、关联与依赖不同,关联是一个对象持有另一个对象的引用,而依赖则是,别人依赖我,我把自己作为实参传递给别人使用。

5、继承和复合都能实现代码复用,哪一种方式更好?

  优先使用复合,除非出现下面的情况:

  a、确实是IS-A 的关系;

  b、需要访问protected成员;

  c、需要重写某个虚方法。

转载地址:http://fvsda.baihongyu.com/

你可能感兴趣的文章
linux内核参数注释与优化(转载)
查看>>
正则表达式大全
查看>>
搭建Hibernate4.2.8环境,hibernate方式修改字段值
查看>>
分布式文件存储--MFS
查看>>
与一位同学的聊天记录
查看>>
Linux Daemons&Service &Process
查看>>
openLDAP/BerkeleyDB安装
查看>>
python ORM 模块peewee
查看>>
屏幕切换
查看>>
OGEngine教程: 图片资源加载及工具使用
查看>>
用手机对电脑进行远程关机
查看>>
rsync+inotify实现数据触发同步
查看>>
shell中if专题
查看>>
PrestaShop二次开发-插件|支付|模板|跳转|功能|模块|外贸信用卡-2
查看>>
Android实现App自动重启
查看>>
Ajax保留浏览器历史的解决方案
查看>>
springboot初探
查看>>
dandelion.exe总是生成桌面连接,安装金山词霸绑定了dandelion.exe
查看>>
vue中使用jquery报错 $ is not defined
查看>>
TCP粘包分析,及解决方法。
查看>>