C++面向对象程序设计第二章类和对象
第一章 C++的初步知识
第二章类和对象
第三章再论类和对象
第四章运算符重载
第五章继承与派生
第六章多态性与虚函数
第七章输入输出流
第八章 C++工具
面向对象程序设计方法概述
类的声明和对象的定义
类的成员函数
对象成员的引用
类和对象的举例
类的封装和信息的隐藏
面向对象程序设计方法概述
什么是面向对象的程序设计?
面向对象的程序设计(Object-Oriented Programming )和传统的结构化程序设计的思路完全不同。面向对象的程序设计和人们日常生活解决问题的思路是相似的。
比如,我们生产汽车时,不是顺序制造发动机,在设计制造底盘、车身、轮子。而是分别设计制造发动机、底盘、车身和轮子,最后组装在一起。组装时,各部件之间有联系,以便协调工作。例如,司机踩油门,就能调节油路,控制发动机的转速,就能驱动车轮。
面向对象程序设计方法概述
程序设计者的任务有两个:一是设计所需要的类和对象,即确定那些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以启动相关对象的操作。
编程者如同一个总调度,不断地向各个对象发出命令,让这些对象活动起来,完成指定的工作。
这就是面向对象的程序设计的基本思路。
面向对象程序设计方法概述
什么是对象(object)?
一个对象由一组"属性"和一组"行为"构成。并根据外界给它的消息进行相应的操作。系统中多个对象通过一定的渠道相互联系。
任何事物都可以看成一个对象。可以是自然物体,也可以是逻辑结构。我们以一个班级为例。一个班级作为对象,有两个要素:一是班级的静态特征,如班级所属的专业,学生人数、班主任姓名等,这种静态特征称为"属性";另一个是班级的动态特征,如上课,体育比赛,开会等,称为"行为"。外界向班级发一个信息(如上课铃声,广播通知),我们称之为"消息",班级就会发生一个操作(要么上课,要么开会)
面向对象程序设计方法概述
什么是C++对象?
C++中,每个对象都由若干数据和若干函数组成。数据就是对象的"属性",函数就是用来对数据进行的"操作",以便实现某种功能。这种操作就是对象的"行为",也叫"方法"。我们点击一下鼠标,按动键盘的一个按钮,就是给某个对象一个消息,系统回调用该对象中的函数进行操作。
比如长方形对象,其长和宽就是它的属性,调用该对象的一些函数,即向该对象传送一些消息,可以用来对其长、宽值进行加工计算,以实现求出面积、周长等功能。
面向对象程序设计方法概述
什么是对象封装(encapsulation )?
就是把对象的不乡让外界知道的属性和功能屏蔽起来,让外界看不见。封装有两个含义,一是将有关的数据和操作函数封装成一个基本单位,即对象内。各对象之间相互独立,互不干扰;二是将对象中的部分属性或功能对外隐蔽,只留少数接口向外公布,以接收外界信息。
对象封装的好处在于,降低了人们操作对象的复杂程度。使用对象的人,不必知道对象内部的实现细节,只需要了解外部功能就可以自如地操作该对象。
对象的行为由类的内部数据结构和相关的操作确定;外部行为通过操作接口实现。人们关心的就是操作接口所能提供的服务。
面向对象程序设计方法概述
什么是抽象(abstraction)?
将具有相同特性的事物归纳、集中成一个统一类型,称为抽象。比如,把张三,李四,王五归纳为一类,我们称之为"人"。
抽象的作用,是表示同类事物的本质。如果你会操作自己家的电视机,看到别人家里的电视机即使牌子不同,你也肯定会操作,因为所有电视机具有共同的特性。
C和C++中,数据类型就是对一批具体数据的抽象,整形数据就是所有整数的抽象。
"类"是"对象"的抽象,"对象"则是类的"特例",或"具体表现形式"。
面向对象程序设计方法概述
什么是继承( inherit )?
生产汽车,一般不会从头开始设计,而是选择已有的某一型号汽车为蓝本,增加、修改一些功能就行了。
软件开发也是这样,我们已经有了一个名为"A"的类,还想建立一个名为"B"的类,而后者内容只是在前者的基础上增加了少量内容。我们显然不必重新设计一个新类B,只需要把A类拿过来,在此基础上添加新内容就可以了。这就是面向对象程序设计的继承机制。
C++提供继承机制,大大节省了编程工作量,这就是所谓"软件重用( software reusability )"的思想。对于大型软件的开发具有重要意义。
c++课件2 来自淘豆网m.daumloan.com转载请标明出处.