OOP,Object Oriented Programming
面向对象的三大特性
1、封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。
2、继承
提高代码复用性;继承是多态的前提。
3、多态
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。

优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统 更加灵活、更加易于维护 .
缺点:性能比面向过程差

五大基本原则
1、单一职责原则SRP(Single Responsibility Principle)
类的功能要单一,不能包罗万象,跟杂货铺似的。
2、开放封闭原则OCP(Open-Close Principle)
一个模块对于拓展是开放的,对于修改是封闭的,想要增加功能热烈欢迎,想要修改,哼,一万个不乐意。
3、里式替换原则LSP(the Liskov Substitution Principle LSP)
子类可以替换父类出现在父类能够出现的任何地方。比如你能代表你爸去你姥姥家干活。哈哈~~
4、依赖倒置原则DIP(the Dependency Inversion Principle DIP)
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。就是你出国要说你是中国人,而不能说你是哪个村子的。比如说中国人是抽象的,下面有具体的xx省,xx市,xx县。你要依赖的是抽象的中国人,而不是你是xx村的。
5、接口分离原则ISP(the Interface Segregation Principle ISP)
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个手机拥有打电话,看视频,玩游戏等功能,把这几个功能拆分成不同的接口,比在一个接口里要好的多

OOP,Object Oriented Programming 面向对象的三大特性 五大基本原则相关推荐

  1. python三大特征六大原则_面向对象程序设计(Object Oriented Programming)的三大特性,六大原则...

    三大特性 封装.继承.多态性 拿简单工厂模式举例: namespace DesignMode_01 { // 计算基类 public class Operation { private double ...

  2. 面对对象编程(OOP, Object Oriented Programming)及其三个基本特性

    一千个读者,一千个哈姆雷特.对于面对对象编程,书上都会告诉我们它有三个基本特性,封装,继承,多态,但谈起对这三点的见解,又是仁者见仁智者见智,感觉还是得多去编程中体验把 . 面向对象编程(OOP, O ...

  3. OOP(Object,Oriented Programming)

    1.面向对象概念 在学习面向对象之前,我们可以先了解一下面向过程.面向过程是一种思想,意思是我们要做任何事,都需要亲力亲为,强调的是过程. 面向对象也是一种编程思想,相对于面向过程,我们可以由原来问题 ...

  4. Object Oriented Programming面向对象编程

    OOP 面向对象编程( Object Oriented Programming)是一种 计算机编程 架构.OOP 的一条基本原则是 计算机程序是由单个能够起到子 程序作用的单元或 对象组合而成.OOP ...

  5. 面向对象 三大特性 五大基本原则

    2019独角兽企业重金招聘Python工程师标准>>> 以前一直认为程序中的类有使用到封装,继承,多态就是面向对象设计,其实不然 封装,继承,多态只是面向对象的三大特性,但是在设计程 ...

  6. JS面向对象程序设计(OOP:Object Oriented Programming)

    你是如何理解编程语言中的面向对象的? 我们研究JS和使用JS编程本身就是基于面向对象的思想来开发的,JS中的一切内容都可以统称为要研究的"对象",我们按照功能特点把所有内容划分成& ...

  7. object oriented programming (面向对象)

    一.类与对象 类:class,例如 animal class.指代一个笼统意义上的大类 对象: object, 例如 animal class会有 ant object,dog object.对象指代 ...

  8. Java OOP(Object Oriented Programming)个人理解及总结

    面向对象编程(Object Oriented Programming,OOP,面向对象程序设计) 其三大特征:封装,继承,多态: 封装:解决数据的安全问题. 继承:解决代码的重用问题. 多态:解决程序 ...

  9. 面向对象编程(Object Oriented Programming)概念总结及延伸(一)

    1.介绍 笔者的梦想是成为一个架构师,但是要成为一个合格的架构师是相当不易的,它既需要丰富的项目经验也需要不断地吸取新的知识,而且在这过程中我们也要不断巩固基础知识.我也注意到了,现在主流的文章大都集 ...

  10. Java SE 008 理解面向对象程序设计 (Inside Object Oriented Programming)

    Java SE 008 理解面向对象程序设计 (Inside Object Oriented Programming) 前言:此笔记为圣思园张龙老师讲述的java视频课程笔记,自己看视频学习时记录的, ...

最新文章

  1. autocad三维汇报,bim汇报,视图汇报方法
  2. NOI 2013 矩阵游戏
  3. Swift中使用构建配置来支持条件编译-b
  4. 在项目组也有段时间了,你对系统架构师了解过吗?
  5. python模拟登陆 验证码el_8-python模拟登入(无验证码)
  6. Hi3519V101 Uboot和Kernel编译
  7. 微信小程序 多图上传解决方案
  8. setValue:forKey of nsobject
  9. 硬件描述测试软件库中74138,杭电数电实验课内题设计答案.docx
  10. uniapp 连接ibeacon beacon
  11. 【kafka】Flink消费kafka Error sending fetch request
  12. 这一刻我學會了堅強、給我一雙翅膀,我会向天空去翱翔。
  13. python绘制分形图形教程_#python绘制分形图形教程#如何用Python绘制Circos图
  14. 硬盘连接电脑提示要格式化怎么办?
  15. html中hover的作用,hover在css中的作用是什么
  16. 智能工厂体系,主要划分为哪五个层级?
  17. halcon机器视觉软件系统框架源码visi onpro
  18. MoveIt的使用(二)机械臂URDF在ROS中MoveIt的配置和使用
  19. 获取文件哈希值_关于哈希的一切,都在这里了
  20. Arduino IDE+_Attiny13/85实践(六)Attiny13A EEPROM内存读与写

热门文章

  1. 点到直线的距离公式: 一元微积分
  2. 人类数据总量_人类身体的11个极限数据
  3. 深入解析内存原理:DRAM的基本原理
  4. C#笔记5//建造游戏1/网格地图脚本1/自编/仅创建网格/无需插件
  5. 在线JSON格式化-工具栈
  6. Android音视频录制类MediaRecorder用法举例
  7. php搭建简单表格的制作方法,最简单的表格制作方法技巧
  8. mysql在线检测文件是否损坏,mysql数据文件损坏后的修复方法
  9. Java七牛云报400错误
  10. QT练习samp2_2_test——用按钮编辑文本框特性