一:3大特征:

封装,继承,多态,(抽象)!

二:5大原则:

1:单一职责原则SRP(Single Responsibility Principle)

是指一个类的功能要单一,不能包罗万象。如同一个人一样,分配的工作不能太多,否则一天到晚虽然忙忙碌碌的,但效率却高不起来。

2:开放封闭原则OCP(Open-Close Principle)

一个模块在扩展性方面应该是开放的而在更改性方面应该是封闭的。比如:一个网络模块,原来只服务端功能,而现在要加入客户端功能,那么应当在不用修改服务端功能代码的前提下,就能够增加客户端功能的实现代码,这要求在设计之初,就应当将服务端和客户端分开,公共部分抽象出来。

3:里式替换原则LSP(the Liskov Substitution Principle LSP)

子类应当可以替换父类并出现在父类能够出现的任何地方。比如:公司搞年度晚会,所有员工可以参加抽奖,那么不管是老员工还是新员工,也不管是总部员工还是外派员工,都应当可以参加抽奖,否则这公司就不和谐了。

4:依赖倒置原则DIP(the Dependency Inversion Principle DIP)

具体依赖抽象,上层依赖下层。假设B是较A低的模块,但B需要使用到A的功能,这个时候,B不应当直接使用A中的具体类: 而应当由B定义一抽象接口,并由A来实现这个抽象接口,B只使用这个抽象接口:这样就达到了依赖倒置的目的,B也解除了对A的依赖,反过来是A依赖于B定义的抽象接口。通过上层模块难以避免依赖下层模块,假如B也直接依赖A的实现,那么就可能 造成循环依赖。一个常见的问题就是编译A模块时需要直接包含到B模块的cpp文件,而编译B时同样要直接包含到A的cpp文件。

5:接口分离原则ISP(the Interface Segregation Principle ISP)

模块间要通过抽象接口隔离开,而不是通过具体的类强耦合起来

面向对象3大特征和5大原则相关推荐

  1. 精益管理3大特征,5大步骤、7大浪费. 10大术语

    精益管理3大特征,5大步骤.7大浪费. 10大专业术语总结篇. 精益管理3大特征: 这3个特征有助于我们快速了解精益管理的内涵,也对如何推行精益管理也有一定的参考价值. 1.拉动式生产 2.消除浪费 ...

  2. java五大原则_Java面向对象的三大特征和五大原则

    Java面向对象的三大特征 封装 封装(Encapsulation)是指属性私有化,根据需要提供setter和getter方法来访问属性.即隐藏具体属性和实现细节,仅对外开放接口,控制程序中属性的访问 ...

  3. 一文搞懂大数据开发,大数据开发体系详解

    前言 不知道大家有没有过在搜索引擎搜索过旅游的关键字,不久就可能收到机票的推销的经验.如今是大数据的时代,数据的价值越来越重要.数据即资产,想必大家都听说过.最近公司的项目中也用到了一些大数据的技术, ...

  4. 面向对象的概念与3大特征

    一.面向过程和面向对象 面向对象是相对于面向过程的一种编程方式. 面向过程的编程方式由来已久.这种方式非常的直观,需要写一个功能,直接就写几行实现方法.比如你需要操作一个人移动到某个点,直接就写代码修 ...

  5. 大数据数据可视化设计原则_数据可视化设计的8顶帽子

    大数据数据可视化设计原则 8 hats of data visualization are basically the important persons and their roles that a ...

  6. 互联网时代的十大特征和趋势

    原文地址:互联网时代的十大特征和趋势作者:正见品牌顾问 特征一:在线化. 进入3G时代之后,Wi-Fi开始普及,绝大多数手机客户如果愿意的话都可以永远在线,移动互联会成为未来十年,甚至更长一段时间的主 ...

  7. 【iPhone X重磅发布】携A11人工智能芯片登场,人脸识别9大特征

    苹果13日凌晨发布了本年度最重量级的产品--iPhone X (iPhone 10).这款用人脸识别进行解锁的新iPhone 可能是苹果AI属性最强的一个产品了.在发布会现场,苹果介绍了A11生物神经 ...

  8. 人不成熟的5大特征,成功人士的7个习惯,成长型思维

    人不成熟的5大特征如下: 1.付出努力立马想要得到回报 2.不自律拒绝改变 3.观点容易被他人左右 4.不愿学习,但又自以为是 5.做事毫无主见没有信念,完全凭借依赖的是人言 成功人士的7个习惯: 1 ...

  9. 互联网创业公司失败的7大特征

    互联网创业公司失败的7大特征: 1. 兼职创业 如果你决心创业,一定要全心全意.白手起家很困难,往往需要全力以赴才能成功.暂时兼职工作是可以接受的,但是还是会大大妨碍更好的表现和潜力的发挥. 我们经常 ...

最新文章

  1. VC++ 打开文件夹,保存文件等对话框的调用
  2. 天问一号火星探测器已飞离地球800多万公里 多个载荷完成自检
  3. 重裝系統,磁盤消失解決方法
  4. 网络流-最大流 dinic+当前弧优化(模板)
  5. 22.循环控制.rs
  6. 如何借助Kubernetes实现持续的业务敏捷性
  7. 拆分列成多行_把订单按货品拆分成多行(上)
  8. 柏林噪声双线性插值初步了解(js)
  9. html调用父页面的函数,js调用父框架函数与弹窗调用父页面函数的方法
  10. 腾讯财报:微信月活增至10.98亿 QQ月活8.07亿
  11. iOS-屏幕适配-UI布局
  12. Atitit 面试技术点最小化问题法总结 目录 1. Web 前端 1 1.1. Jq 常用操作哪些?? 1 1.2. 查询后如何绑定后端数据到表格 2 1.3. 提交后怎么接受表单数据 2 2.
  13. 【springBoot】之快速构建一个web项目
  14. Ubuntu下的Hadoop安装
  15. VLAN介绍、工作原理以及配置
  16. walking机器人仿真教程-应用-多点导航结合睡眠功能实现智能取药
  17. 流程图文字及数据表内外连接
  18. vscode离线下载对应版本的插件,避免版本兼容问题
  19. vscode使用注意事项
  20. gcrobustvar:基于VAR的稳健性Granger因果检验

热门文章

  1. 用户配置文件状态变成“备份”
  2. 微星MSI GL62VR ubuntu16.04 gtx1061
  3. 移动端Web页面适配方案(整理版)
  4. MAUI 框架入门学习01
  5. 啊哈算法——第一章:排序
  6. 8年测试经验,耗时一星期整理的40道自动化测试面试题(附精准答案),爆肝2W字..........
  7. tcp 选项:SO_LINGER祥解(转)
  8. 【C语言】实现3位数码管显示
  9. 逆战:微信小程序开发(二)
  10. webgl学习之认识webgl