第3章 面向对象程序设计概述

第3章 面向对象程序设计概述

ID:40224426

大小:231.00 KB

页数:54页

时间:2019-07-27

第3章  面向对象程序设计概述_第1页
第3章  面向对象程序设计概述_第2页
第3章  面向对象程序设计概述_第3页
第3章  面向对象程序设计概述_第4页
第3章  面向对象程序设计概述_第5页
资源描述:

《第3章 面向对象程序设计概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《C++面向对象程序设计》教学内容第1章C++概述第2章类和对象第3章面向对象程序设计概述第4章进一步学习类和对象第5章堆与复制构造函数第6章继承性:派生类第7章运算符重载第8章虚函数和多态性第9章模板第10章类库和C++的标准模板库STL第11章输入输出流第12章异常处理金尊和“计算机和软件的发展很快,新的概念名词和技术手段层出不穷,可谓日新月异。停留于表面的现象,可以让人眼花乱,应接不暇。只有深入到本质,从哲学方法论的高度上看问题,找答案,才能如庖丁解牛,游刃有余。”第3章面向对象程序设计概述3.1 类与对象3.2 消息和方法3.3什么是面向对象程

2、序设计3.4 数据抽象3.5 封装性和信息隐藏3.6 继承性与软件重用3.7 多态性3.8面向对象的程序设计语言3.9面向对象的软件工程3.1 类与对象3.1.1对象3.1.2类3.1.3对象与类的关系对象的广义定义什么是对象(object)?现实世界中的任何一个事物都可以看成是一个对象。自然的实体:一个人,一辆汽车,一个教师逻辑结构:一个银行帐号,一个学生的学籍档案,客户通信录对象的特性对象是人们要研究的任何事物,其特性是:1、每一个对象必须有一个名字以区别于其它对象;2、用属性(或叫状态)来描述它的某些特征;3、有一组操作,每一个操作决定对象的一种

3、行为。//这是关于对象的广义定义面向对象的系统中的对象对象是基本的运行时实体,它既包含数据(属性),也包括作用与数据的操作(行为)。一个对象把属性和行为封装成一个整体。对象是数据和对数据的操作的结合体。从程序设计者来看,对象是一个程序模块;从用户来看,对象为他们提供了所希望的行为。类的例子人类水果类鱼类“类”是对一组具有共同属性特征和行为特征的对象的抽象。OOP中类的例子classStudent{intnumber;char*name;floatscore;public:Student(intnumber1,char*name1,floatscore1

4、);~Student();voidmodify(floatscore1);voidprint();};属性操作什么是类(class)?在C++语言中,我们通过定义新的数据类型来构成类。在新的数据类型中,既包含数据内容又包含对数据的操作。一个类所包含的方法和数据描述一组对象的共同行为和属性。什么是类(class)?一个类定义了一个大体上相似的对象。把一组对象的共同特性加以抽象并存储在一个类中的能力,是面向对象技术最重要的一点。对象与类的关系类是对一组性质相同的对象的描述,是对一组数据和方法的封装。对象则是类的具体化,是类的实例。可以这样定义对象:对象是类

5、的一个实例,包括了数据和过程。3.2 消息和方法3.2.1消息3.2.2方法消息Message消息是要求某个对象执行其中某个功能操作的规格说明。OOP中的一条消息由消息选择器(“消息操作”或“消息名”)及若干个参数和接受消息的对象三部分组成,例如:student1.modify(score1);消息的例子接受消息的对象参数↓     ↓student1.modify(score1);↑消息名发送消息与函数调用的比较1)函数调用可以带或不带参量,但消息至少带一个参量(对象名或对象指针);它指明接受该消息的对象。消息选择器则告诉对响应作些什么。2)消息名(

6、消息选择器或消息操作)类似于函数名,但二者之间的本质差别在于:函数名仅代表一段可执行的代码,而消息名的具体功能的实现取决于所接受消息的对象。发送消息与函数调用的比较(续)3)函数调用是过程式(面向过程)的即“如何做(Howtodo)”,而消息则是通知式(面向对象)的,即告诉对象“做什么(Whattodo)”,具体“如何做(Howtodo)”由对象根据接受到的消息自行确定。lst.sort();其中,lst代表一个链表对象,sort是表示排序的消息名。方法(method)“方法”对应于对象的行为(能力),即它是实现对象所具有的功能操作的代码段。在C++程

7、序中,方法即是类中定义的成员函数,它是该类对象所能执行的操作的算法实现。通常每个类中包含多个方法(即C++的成员函数),每个方法由方法名(函数名+参数表)和说明该成员函数的算法实现的一段代码所组成。方法的例子voidStudent::print(){cout<<”number:”<

8、方法的发展过程1957~1972:面向过程的程序设计1968~1990:面向过程的结构化程序设

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。