世界是由一个个对象组成的,因此面向对象的思维方式更加接近现实世界,面向对象编程的组织方式也更加贴近现实世界。面向对象以对象为中心,将对象的内部组织与外部环境区分开来,将表征对象的内部属性数据与外部隔离开来,其行为与属性构成一个整体,而系统功能则表现为一系列对象之间的相互作用的序列,能更加形象的模拟或表达现实世界。在编程组织中,对象的属性与方法不再像面向过程那样分开存放,而是视为一个整体(程序的最终实现其实还是分离的,但这仅仅是物理实现上的,不影响将对象的这两个部分视为一个整体),因此具有更好的封装性和安全性(表征内部的属性数据需要通过对象的提供的方法来访问)。
----->摘自hawksoft博主

面向对象的三大特征:封装 继承 多态

将现实中的实体数字抽象化为ADT(抽象数据类型),抽象数据类型通过封装成为类,其中类中的成员变量对应于属性,成员方法对应于行为,对类进行实例化为对象。
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。
封装:

封装:即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

途径:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

继承:
继承:
可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基类,又称为父类。由已存在的类派生出的新类称为派生类,又称为子类。

继承方式:

1.公有继承(public)
基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。
2. 私有继承(private)
基类的公有成员和保护成员都作为派生类的私有成员,不能被这个派生类的子类所访问。
3.保护继承(protected)
基类的所有公有成员和保护成员都成为派生类的保护成员,只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。

多态:
多态:字面的意思就是“多种状态”,同一个实体同时具有多种形式。在面向对象语言中,接口的多种不同的实现方式即为多态。

面向对象的oop编程思想相关推荐

  1. python递归 及 面向对象初识及编程思想

    递归 及 面向对象初识及编程思想 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  2. python中的递归思想_〖Python〗-- 递归、面向对象初识及编程思想

    [递归.面向对象初识及编程思想] 一.递归 1.定义: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. (1)递归就是在过程或函数里调用自身: (2)在使用递归策 ...

  3. java SE(五)——(面向对象)OOP编程

    OOP编程 面向对象基础 一.方法 方法是什么 使用方法的好处是? 关于方法需要学会什么? 方法定义.调用 方法完整的定义形式.调用 方法的其它定义形式.调用 方法使用的常见问题 方法案例 定义方法的 ...

  4. 学习Java第一天:1、Java是什么?2、面向对象的编程思想的特点 3、Java的开发工具 4、安装JDK和配置环境变量 5、Java程序的运行过程 6、Java语言的特点

    目录 1.Java是什么? 2.面向对象的编程思想的特点 3.Java的开发工具 4.安装JDK和配置环境变量 5.Java程序的运行过程 6.Java语言的特点 1.Java是什么? java是一门 ...

  5. 面向过程与面向对象——编程思想的演变

    编程语言从无到有,据维基百科统计,至今为止有600多种.如此众多语言,需要逐个学习吗?实际上编程语言都是相通的,编程语言只需要精通一门即可,其他都能融会贯通.比如Java与C++就差不多,Java和C ...

  6. 好书推荐---单片机编程魔法师之高级裸编程思想

    <单片机编程魔法师之高级裸编程思想>以单片机裸环境为基础,为编程者定义了一个微操作系统(MOS)的编程环境,并面向应用中不断提高的需求对编程策略进行了深度剖析与研究,从而分离出数据驱动.并 ...

  7. 厉害了 全靠经典之作-Java编程思想,把你教的明明白白

    今天我们来聊聊这本<Java编程思想> 从我学习Java的经验来看,<Thinking in Java>是讲解Java编程的最佳书籍! 这本书不仅详细地介绍Java语法.知识点 ...

  8. 【转载】PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持. 如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们 ...

  9. PHP面向对象(OOP)编程入门教程

    面向对象编程(OOP)是我们编程的一项基本技能,PHP5对OOP提供了良好的支持.如何使用OOP的思想来进行PHP的高级编程,对于提高 PHP编程能力和规划好Web开发构架都是非常有意义的.下面我们就 ...

  10. 200819C阶段一C++面向对象的编程思想

    目录 一.学习的知识点 作业 面向对象的编程思想 类与对象 类 二.上课没有听懂或者没有理解的地方 三.当天学习的收获 四.作业的思路.不会的地方 五.其他需要反馈的问题 六.心得体会 一.学习的知识 ...

最新文章

  1. 古城钟楼微博:葡萄城程序员演练技术的产物
  2. oracle hint push_pred,hints的push_pred应用-Oracle
  3. 【若依(ruoyi)】字典管理
  4. site_url()和base_url()
  5. Web浏览器调试工具firebug
  6. 聊聊restful和restframework
  7. python温度转换
  8. qt repaint 用法_QT 界面绘制刷新机制
  9. Linux安装MariaDB
  10. android人脸识别的背景图_Android原生人脸识别Camera2+FaceDetector 快速实现人脸跟踪...
  11. MATLAB经纬度转化
  12. 关于微信小程序下拉刷新、上拉触底方法的实现
  13. samba4的负载均衡群集
  14. python误差修正模型_误差修正模型ECM_eviews误差修正模型
  15. 不讲武德的Python反爬神器『fake_useragent』
  16. 【C】例9.7有n个结构体变量,内含学生学号、姓名和3门课程的成绩。要求输出平均成绩最高的学生的信息(包括学号、姓名、3门课程成绩和平均成绩)
  17. 抓包那些事——四大抓包神器简介
  18. 中国石油大学(北京)-《 油气藏经营管理》第二阶段在线作业
  19. 数据库sqlite3的安装与应用
  20. csv和excel php 解析_PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

热门文章

  1. 什么是网络,网络类型,网络结构
  2. 浅析小米登录/注册页面(原生)
  3. 10、 基于STM32的汽车倒车防撞雷达
  4. Spring MVC @JsonView使用详解
  5. Mac上的MySQL可视化工具总结
  6. 台达变频器485通讯接线图_台达PLC与变频器用485通讯怎样实现启动、停止和频率给定,程序怎样做。谢谢!...
  7. GPS精密星历文件下载地址
  8. 使用dsoFramer开始Office应用程序
  9. linux中nbu主机备份,NBU60网络备份大全之Linux设备管理.doc
  10. AD7124源码 兼容AD7124-4/8 代码都经过验证 有验证的项目PCB图