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

第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所示。

时间: 2024-12-02 23:54:46

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

《51单片机应用开发从入门到精通》——2.4 延时时间计算实例

2.4 延时时间计算实例 51单片机应用开发从入门到精通 在单片机的实时控制系统中,常常需要用到延时操作,所以,延时子程序往往是编写单片机程序中不可缺少的一部分.延时方法有硬件延时和软件延时,硬件延时将在后面有关章节中介绍,本节将介绍软件延时方法. 所谓软件延时,就是让计算机重复执行一些无具体任务的程序,利用执行程序的时间来达到延时的目的. 2.4.1 机器周期和指令周期 单片机读.写操作都需要消耗一定的时间,机器周期是指单片机完成一个基本操作所用的时间,如读操作.写操作等.当石英晶体为12MH

《C++ 开发从入门到精通》导读

前言 C++ 开发从入门到精通 从你开始学习编程的那一刻起,就注定了以后所要走的路:从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在职位顶峰的位置蓦然回首,会发现自己的成功并不是偶然,在程序员的成长之路上会有不断修改代码.寻找并解决Bug.不停测试程序和修改项目的经历:不可否认的是,只要你在自己的开发生涯中稳扎稳打,并且善于总结和学习,最终将会得到可喜的收获. 选择一本合适的书 对于一名想从事程序开发的初学者来说,究竟如何学习才能提高自己的开发技术呢?其

《C语言开发从入门到精通》一导读

前言 C语言开发从入门到精通 从你开始学习编程的那一刻起,就注定了以后所要走的路:从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在职位顶峰的位置蓦然回首,会发现自己的成功并不是偶然,在程序员的成长之路上会有不断修改代码.寻找并解决Bug.不停测试程序和修改项目的经历:不可否认的是,只要你在自己的开发生涯中稳扎稳打,并且善于总结和学习,最终将会得到可喜的收获. 目 录 第1章 C语言之定位1.1 C语言的诞生1.2 第一印象的建立1.3 理解编译系统--学

《Android应用开发从入门到精通》——第1章,第1.2节Android架构解析

1.2 Android架构解析 Android应用开发从入门到精通 Android系统的底层建立在Linux系统之上,该平台采用一种称为软件叠层(Software Stack)的方式进行构建.这种软件叠层结构使得层与层之间相互分离,明确各层的分工.这种分工是软件工程中常说的低耦合高内聚的设计概念. 1.2.1 Android系统架构图 Android作为一个移动设备的平台,其软件层次结构包括了内核层.中间件和应用程序.下面看看Android的系统架构图,如图1.2所示. 如图1.2所示,Andr

《51单片机应用开发从入门到精通》——2.9 交通灯实例

2.9 交通灯实例 51单片机应用开发从入门到精通 定时器/计数器是单片机中最常用.最重要的功能模块之一,本节通过交通灯控制器实例来演示定时器的使用方法,并复习如何使用上节学习的散转程序. 本节首先介绍交通灯的基础知识以及定时器/计数器的基础知识,接着介绍本实例的硬件电路构成,然后逐步分析定时器的编程以及程序的全貌,最后将总结一下本实例的技巧与注意点. 2.9.1 基础知识 交通灯控制器实例主要使用了8051单片机的定时器/计数器,本实例的基础知识主要包括:交通灯的变化规律.定时器/计数器的概念

《ArcGIS Engine 地理信息系统开发从入门到精通(第二版)》——第6章 空间数据管理 6.1 SDE及空间数据

第6章 空间数据管理 6.1 SDE及空间数据 ArcGIS Engine 地理信息系统开发从入门到精通(第二版)6.1.1 SDE介绍 ArcSDE是数据库系统中管理地理数据库的接口,通过该接口可以往关系数据中加入空间数据,提供地理要素的空间位置及形状等信息,是ArcGIS与关系数据库之间的GIS通道.它允许用户在多种数据管理系统中管理地理信息,并使所有的ArcGIS应用程序都能够使用这些数据. ArcSDE是多用户ArcGIS系统的一个关键部件,它为DBMS提供了一个开放的接口,允许ArcG

《51单片机应用开发从入门到精通》——2.10 变频报警实例

2.10 变频报警实例 51单片机应用开发从入门到精通 本实例是用软件延时方法实现变频振荡报警,即用P3.4端口输出1kHz和2kHz的变频信号以示报警,每隔1s交替变换1次.本节硬件设计与上节相同. 2.10.1 程序设计 本程序利用软件延时方法,使P3.4端口输出1kHz和2kHz的变频信号,每隔1s交替变换1次. 1.流程图 程序设计流程如图2-16所示. 2.程序 汇编语言编写的变频报警源程序FS02.ASM代码如下: 01: MAIN: MOV R1,#8 ;1kHz持续时间 02:

《51单片机应用开发从入门到精通》——导读

前言 51单片机应用开发从入门到精通 随着微处理器技术和SoC技术的发展,从较早的4位机到8位机,一直发展到现在的32位机,单片机的应用逐渐渗透到生产.生活的各个领域.本书主要针对MCS-51体系单片机,从硬件.软件两个方面的基础知识开始进行介绍.MCS-51体系单片机由于具有简单易学.稳定性好.成本低等优点,在工业控制.家用电器.汽车电子乃至航天电子等许多领域都有着重要的应用. 本书主要针对初.中级读者群,通过众多的实例介绍单片机开发的基础知识.基本工具.基本过程及简单应用,既方便初学者入门,

《C++ 开发从入门到精通》——第1章 说真的,我们还要学习C++吗1.1 C++概述

第1章 说真的,我们还要学习C++吗 C++ 开发从入门到精通 想必大家都听说过"C++语言"吧,过去我们一般使用C语言,因为用C语言编制的程序不仅执行速度快,还可以充分地使用硬件的各种资源.而C++语言是对C语言的重大改进,C++的最大特点是通过"类"而成为了一门"面向对象"的语言.本章将介绍学习C++语言所必需的基础知识和遇到的常见问题的解决方法,为读者进行本书后面知识的学习打下基础. 本章内容 C++概述 开发工具--Visual C++

《51单片机应用开发从入门到精通》——1.3 Keil uVision2集成开发环境

1.3 Keil uVision2集成开发环境 51单片机应用开发从入门到精通 uVision2 IDE是Keil software公司的产品,它集项目管理.编译工具.代码编写工具.代码调试以及完全仿真于一体,特别适用于个人开发或者人数少.对开发过程的管理还不成熟的开发团体.这一功能强大的软件提供简单易用的开发平台,可以让开发者在开发过程中集中精力于项目本身,加快开发速度. 1.3.1 uVision2介绍 uVision2的界面窗口如图1-13所示,该软件提供了丰富的工具,常用命令都具有快捷工