面试问题之C++语言:面向对象的五个原则
2024-09-08 01:23:06
五大原则:
1、单一职责原则SRP(Single Responsibility Principle):是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。
2、开放封闭原则OCP(Open-Close Principle):一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块。原来只有服务端功能,而现在要加入客户端功能,那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。
3、里式替换原则LSP( Liskov Substitution Principle LSP):子类应当可以替换父类并出现在父类能够出现的任何地方。比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。
4、依赖倒置原则DIP( Dependency Inversion Principle DIP):程序要依赖于抽象接口,不要依赖于具体实现。具体实现类继承抽象接口,简单来说就是要求对对象进程编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
5、接口分离原则ISP(Intercace Segregation Principle ISP):模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来。
最新文章
- javaee 导航
- Objective-c中定义成员变量
- C#入门经典第五版之变量的更多内容编码题训练
- ASP.NET MVC4 数据库连接(EF6.0)
- 关于Android构建
- 一群猴子排成一圈,按1,2,...n 编号,数到m只,踢出局,直到剩下最后一个猴子是大王
- WIN8+VS2013编写发布WCF之二(部署)
- ASP.NET MVC3 实例(六) 增加、修改和删除操作(二)
- 解读MMS(Microsoft Media Server)协议
- asp.net post方法;对象转json
- PHP源码阅读笔记一(explode和implode函数分析)
- 一起学Android之Storage
- topcoder srm 683 div1
- jdk1.6空轮询Bug的原因及解决方法
- gitlab之gitlab-ci和gitlab-runner<;二>;
- Dubbo学习笔记5:Dubbo整体框架分析
- Object-C-block
- UEditor自动调节宽度
- 制作jQuery文字提示插件
- Hdu1728 逃离迷宫 2017-01-17 10:56 81人阅读 评论(0) 收藏