本节书摘来自异步社区出版社《C++ 开发从入门到精通》一书中的第2章,第2.1节,作者: 王石磊 , 韩海玲,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第2章 C++的重要特质分析

C++ 开发从入门到精通
C++是继C语言之后的又一门令程序员执爱的编程语言,它不但是C的加强版,而且吸取了传统汇编语言的优点,开创了全新的面向对象的语言世界。从此,软件开发领域彻底进入面向对象时代。由此可以看出,C++的最重要特质是面向对象。除了面向对象外,C++还有很多其他方面的特质,在本章将一一介绍。

本章内容
什么是面向对象(object-oriented)
分析C++的程序结构
必须遵循的编码规范
输入输出基础
算法是程序的灵魂
技术解惑
C++是面向对象,C是面向过程,那么这个对象和过程是什么意思呢
面向对象和面向过程的区别
学好C++的建议

2.1 什么是面向对象(object-oriented)

图片 1 知识点讲解:光盘:视频PPT讲解(知识点)第2章什么是面向对象.mp4

面向对象程序设计即OOP,是Object-Oriented Programming的缩写。由于很多原因,国内大部分程序设计人员并没有很深的OOP以及OOPL理论基础,很多人从一开始学习到工作很多年都只是接触到C/C++、Java等静态类型语言,而对纯粹的OOP思想和作为OOPL基础的Smalltalk以及动态类型语言知之甚少,不知道还有一些可以针对变量不绑定类型的编程语言。

2.1.1 什么是OOP

OOP的许多思想都来之于Simula语言,并在Smalltalk语言的完善和标准化过程中得到更多的扩展和对以前的思想的重新注解。可以说OOP思想和OOPL几乎是同步发展、相互促进的。与函数式程序设计(functional-programming)和逻辑式程序设计(logic-programming)所代表的接近于机器的实际计算模型所不同的是,OOP几乎没有引入精确的数学描叙,而是倾向于建立一个对象模型,它能够近似反映应用领域内的实体之间的关系,其本质是更接近于一种人类认知事物所采用的哲学观的计算模型。

对象的产生通常基于如下两种基本方式:以原型对象为基础产生新的对象和以类为基础产生新对象。

1.基于原型

原型模型本身就是通过提供一个有代表性的对象为基础来产生各种新的对象,并由此继续产生更符合实际应用的对象。而原型—委托也是OOP中的对象抽象,代码共享机制中的一种。

2.基于类

一个类提供了一个或多个对象的通用性描叙。从形式化的观点看,类与类型有关,因此,一个类相当于从该类中产生的实例的集合。在类模型基础上还诞生了一种拥有元类的新对象模型,即类本身也是一种其他类的对象。

2.1.2 面向对象编程

面向对象编程是C++编程的指导思想。使用C++进行编程时,应该首先利用对象建模技术来分析目标问题,抽象出相关对象的共性,对它们进行分类,并分析各类之间的关系;然后再用类来描述同一类对象,归纳出类之间的关系。编程专家在对象建模技术、面向对象编程和知识库系统的基础之上设计了一整套面向对象的方法,具体来说分为面向对象分析(OOA)和面向对象设计(OOD)。对象建模技术、面向对象分析和面向对象设计共同构成了系统设计的过程,如图2-1所示。


《C++ 开发从入门到精通》——第2章 C++的重要特质分析2.1 什么是面向对象(object-oriented)...相关推荐

  1. 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...

  2. 《Visual C++ 开发从入门到精通》——2.7 变量

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第2章,第2.7节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  3. 《ASP.NET 开发从入门到精通》----2.3 编译和部署ASP.NET程序

    本节书摘来自异步社区<ASP.NET 开发从入门到精通>一书中的第2章,第2.3节,著 张明星 ,责任编辑 张 涛, 更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  4. 《51单片机应用开发从入门到精通》——2.2 跑马灯实例

    本节书摘来自异步社区<51单片机应用开发从入门到精通>一书中的第2章,第2.2节,作者 张华杰,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 跑马灯实例 ...

  5. 《libGDX移动游戏开发从入门到精通》一第2章 libGDX的架构分析

    本节书摘来异步社区<libGDX移动游戏开发从入门到精通>一书中的第2章,第2.1节,作者: 黄俊东 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  6. pythonweb开发-Python Web开发从入门到精通

    Python Web开发从入门到精通循序渐进地讲解了Python Web开发的核心知识,并通过具体实例的实现过程演示了Web开发程序的流程.Python Web开发从入门到精通共15章,内容包括Pyt ...

  7. 《Visual C++ 开发从入门到精通》——1.4 技术解惑

    本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第1章,第1.4节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  8. Nginx开发从入门到精通

    Nginx开发从入门到精通 缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理 ...

  9. 《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——6.7 本章小结

    本节书摘来自异步社区<ArcGIS Engine 地理信息系统开发从入门到精通(第二版)>一书中的第6章,第6.6节,作者: 邱洪钢 , 张青莲 , 熊友谊 更多章节内容可以访问云栖社区& ...

最新文章

  1. Backbone的写类方式
  2. iptables利用ipt_recent做防刷限制
  3. centos7配置br0_centos7 bond 和 网桥配置
  4. boost::type_erasure::addable相关的测试程序
  5. 剑指 Offer 15. 二进制中1的个数 and leetcode 1905. 统计子岛屿
  6. java建立类的思想_JAVA类和对象创建
  7. 2015英特尔® 实感™ (Intel® RealSense™) 动手开发实验课
  8. 测试面试题集-Python编程题(1)
  9. 你需要的是持续的服务改进 1
  10. 企业网站建设方案策划书
  11. Android 车载应用开发与分析(12) - SystemUI (一)
  12. 计算机网络实验二:网络基础编程实验
  13. 央视力荐的这套书,让5岁孩子看漫画,秒懂物理,学习早“开窍”!
  14. Cordova打包Vue项目(修改APP logo name)
  15. 树莓派的ssh连接配置
  16. Excel的公式:公式基本使用、单元格地址引用、错误值利用、追踪公式利用与追踪错误
  17. 十七道海量数据处理面试题与Bit-map详解
  18. Win10 收件箱添加QQ邮箱(2019年5月19日)
  19. HTML5中国象棋游戏(自定义象棋难度)源码下载
  20. iis网站访问默认到html文件,mvc vs iis默认页面

热门文章

  1. ESXi安装全过程及基本配置
  2. HDU 6052 To my boyfriend(容斥+单调栈)
  3. SQL 服务器勒索病毒XTBL、dharma、wallet后缀,会在文件名中添加联系的电子邮件地址...
  4. Sharepoint之升级篇
  5. PHP中include()与require()的区别说明
  6. 如何避免模块间的CSS冲突
  7. 机器视觉基础(2)---坐标与矩阵变换
  8. 伪静态技术(SEO) 摘自:http://bbs.admin5.com/thread-8522290-1-1.html
  9. Linux系统运维工程师PDF文档精选
  10. 用 Flask 来写个轻博客 (34) — 使用 Flask-RESTful 来构建 RESTful API 之三