面向对象:先抽象问题整体,在具体逻辑细节。

面向过程:先具体逻辑细节,再抽象问题整体。

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

类的封装  --> 一个类如何描述?
类的继承  --> 多个类型之间存在继承关系,如何继承?
类的多态  --> 类的对象有多种形态?

C++认为万事万物皆为对象,对象上有其属性与行为。
例如: 
人可以作为对象,属性有姓名、年龄、身高、体重...  行为有走、跑、跳、唱歌、跳舞..
车可以作为对象,属性有轮胎,方向盘,车灯...   行为载人、播音乐、放空调...
具有相同性质的对象,我们可以抽象成为类,人属性人类,车属性车类。

类    ---->   对象
 人类          张三
 车类          雷克萨斯
 学生类        李四

《封装性》:数据和代码捆绑在一起,避免外界干扰和不确定性访问。封装可以使得代码模块化。
优点:
确保用户代码不会无意间破坏封装对象的状态
被封装的类的具体实现细节可以随时改变,而无须调整用户级别的代码

《继承性》:让某种类型对象获得另一个类型对象的属性和方法。继承可以扩展已存在的代码
《多态性》:同一事物表现出不同事物的能力,即向不同对象发送同一消息,不同的对象在接收时会产生不同的行为(重载实现编译时多态,虚函数实现运行时多态)。多态的目的则是为了接口重用

静态多态: 静态多态是在程序《编译阶段》已经确定将要执行的状态。 (函数重载,模板)

动态多态:动态多态是在程序《运行阶段》才能确定将要执行的状态。 (虚函数覆盖)

简单的理解:面向对象就是把所有代码写入到类中

C++面向对象的三大特性相关推荐

  1. Java学习笔记二十五:Java面向对象的三大特性之多态

    Java面向对象的三大特性之多态 一:什么是多态: 多态是同一个行为具有多个不同表现形式或形态的能力. 多态就是同一个接口,使用不同的实例而执行不同操作. 多态性是对象多种表现形式的体现. 现实中,比 ...

  2. 面向对象的三大特性之继承

    # 面向对象的三大特性之继承# 当类之间有显著不同,并且较小的类是较大的类所需要的组件时,用组合比较好 (如机器人) # 当类之间有很多相同的功能,提取这些共同的功能做成基类,用继承比较好 (动物-- ...

  3. 到底什么是面向对象,面试中怎么回答。面向过程和面向对象的区别是什么。java跨平台特性以及java和C++的区别。面向对象的三大特性——封装、继承和多态。面向对象的高拓展性以及低耦合度怎么体现?

    Java语言具有的特点:面向对象.跨平台.多线程以及网络编程 1. 和C++的区别 1.1 Java隐蔽了C++的指针,避免指针直接操作,程序更加安全. 1.2 Java类继承只能单继承,避免了C++ ...

  4. 面向对象之三大特性:继承,封装,多态

    python面向对象的三大特性:继承,封装,多态. 1. 封装: 把很多数据封装到⼀个对象中. 把固定功能的代码封装到⼀个代码块, 函数, 对象, 打包成模块. 这都属于封装的思想. 具体的情况具体分 ...

  5. Python Day 21 面向对象 (面向对象的三大特性(二)继承,多态,封装,几个装饰器函数)...

    Python Day 21 面向对象 (面向对象的三大特性(二)继承,多态,封装,几个装饰器函数) https://mubu.com/doc/1AqL_M0IbW 继承之钻石继承 多态 封装 几个装饰 ...

  6. polymorphism java_Java基础-面向对象第三大特性之多态(polymorphism)

    Java基础-面向对象第三大特性之多态(polymorphism) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.多态概述 多态是继封装,继承之后,面向对象的第三大特性,多态的 ...

  7. C++ 面向对象程序三大特性之 继承

    目录 继承的概念 继承的定义及使用 继承方式和访问权限 基类和派生类对象的赋值转换 继承中的各成员的作用域 派生类的默认成员函数 构造函数 拷贝构造 赋值运算符重载函数 析构函数 继承与友元 继承与静 ...

  8. 面向对象的三大特性:封装、继承、多态

    面向对象的三大特性 面向对象的三大特性:封装.继承.多态 封装 封装,成员变量的封装,保证了数据的安全性.封装的好处:过滤了不合理的值.屏蔽内部的赋值过程.让外界不必关注内部的细节 Set方法 1.  ...

  9. 面向对象:三大特性与五大原则

    面向对象:三大特性与五大原则 面向对象(Object Oriented, OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构.应用平台.分布 ...

  10. java面向对象特性_java面向对象编程三大特性

    一说到java面向对象编程就想到面向对象的三大特性,封装,继承和多态,下面我们来具体分析以下这三大特性在编程中是如何具体体现的. 封装 将类的属性和具体实现细节隐藏,只提供相关的接口和方法来对隐藏信息 ...

最新文章

  1. 嵌入式系统开发过程中遇到的——volatile
  2. 自定义表单mysql_自定义表单,计算答案然后更新mysql DB(Custom form, calculate answer then update mysql DB)...
  3. MATLAB报错“Integers can only be raised to positive integral powers.“
  4. 经典C语言程序100例之二三
  5. 【最详细】BFPRT算法:时间复杂度O(n)求第k小的数字
  6. 简单的flash小动画成品_怎么制作flash动画?看这里怎么说。
  7. GATK之VariantAnnotator
  8. bzoj3524: [Poi2014]Couriers / bzoj2223: [Coci 2009]PATULJCI 主席树
  9. 【Struts1.2总结系列】struts-config.xml配置
  10. [转载] Python面向对象编程系列第一篇
  11. CentOS7更换阿里yum源
  12. android自定义速度仪表盘,自定义View实战:汽车速度仪表盘
  13. 极域电子教室师生端连接不上怎么解决
  14. 中科院生物信息学题目整理
  15. Linux 终端浏览器 w3m
  16. 三十而立~2019年终总结
  17. 联想拯救者wif开不了_联想拯救者wifi开关
  18. Kinect for Windows SDK v2.0 开发笔记 (十三) 高清面部帧(4) 面部模型构建器
  19. 华为:交付服务体系怎么提升一线作业人员的工作体验?
  20. 如何查看linux内核版本

热门文章

  1. easyui源码翻译1.32--Resizable(调整大小)
  2. particles.js粒子特效(常用登录页背景)
  3. java把string转换为int_java如何把String类型转换为int类型
  4. 固安天地人计算机学校,固安风水宝地
  5. java项目连接mysql时报错:
  6. T123AI芯片简介
  7. python模块导入教学_【python基础课|今日教学内容:Python导入模块的方式,学python的必备技能】- 环球网校...
  8. jira使用教程 一(从官方文档理解)
  9. Adobe Premiere Rush CC 2020中文版
  10. TileMill 快速入门