c++语言第4次课讲义.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言第4次课讲义

2.1 面向对象程序设计方法概述 什么是面向对象的程序设计? 面向对象的程序设计(Object-Oriented Programming )和传统的结构化程序设计的思路完全不同。面向对象的程序设计和人们日常生活解决问题的思路是相似的。 比如,我们生产汽车时,不是顺序制造发动机,在设计制造底盘、车身、轮子。而是分别设计制造发动机、底盘、车身和轮子,最后组装在一起。组装时,各部件之间有联系,以便协调工作。例如,司机踩油门,就能调节油路,控制发动机的转速,就能驱动车轮。 2.1 面向对象程序设计方法概述 什么是对象(object)? 一个对象由一组“属性”和一组“行为”构成。并根据外界给它的消息进行相应的操作。系统中多个对象通过一定的渠道相互联系。 任何事物都可以看成一个对象。可以是自然物体,也可以是逻辑结构。我们以一个班级为例。一个班级作为对象,有两个要素:一是班级的静态特征,如班级所属的专业,学生人数、班主任姓名等,这种静态特征称为“属性”;另一个是班级的动态特征,如上课,体育比赛,开会等,称为“行为”。外界向班级发一个信息(如上课铃声,广播通知),我们称之为“消息”,班级就会发生一个操作(要么上课,要么开会) 2.1 面向对象程序设计方法概述 什么是对象封装(encapsulation )? 就是把对象的不乡让外界知道的属性和功能屏蔽起来,让外界看不见。封装有两个含义,一是将有关的数据和操作函数封装成一个基本单位,即对象内。各对象之间相互独立,互不干扰;二是将对象中的部分属性或功能对外隐蔽,只留少数接口向外公布,以接收外界信息。 对象封装的好处在于,降低了人们操作对象的复杂程度。使用对象的人,不必知道对象内部的实现细节,只需要了解外部功能就可以自如地操作该对象。 对象的行为由类的内部数据结构和相关的操作确定;外部行为通过操作接口实现。人们关心的就是操作接口所能提供的服务。 2.1 面向对象程序设计方法概述 什么是抽象(abstraction)? 将具有相同特性的事物归纳、集中成一个统一类型,称为抽象。比如,把张三,李四,王五归纳为一类,我们称之为“人”。 抽象的作用,是表示同类事物的本质。如果你会操作自己家的电视机,看到别人家里的电视机即使牌子不同,你也肯定会操作,因为所有电视机具有共同的特性。 C和C++中,数据类型就是对一批具体数据的抽象,整形数据就是所有整数的抽象。 “类”是“对象”的抽象,“对象”则是类的“特例”,或“具体表现形式”。 2.1 面向对象程序设计方法概述 什么是继承( inherit )? 生产汽车,一般不会从头开始设计,而是选择已有的某一型号汽车为蓝本,增加、修改一些功能就行了。 软件开发也是这样,我们已经有了一个名为“A”的类,还想建立一个名为“B”的类,而后者内容只是在前者的基础上增加了少量内容。我们显然不必重新设计一个新类B,只需要把A类拿过来,在此基础上添加新内容就可以了。这就是面向对象程序设计的继承机制。 C++提供继承机制,大大节省了编程工作量,这就是所谓“软件重用( software reusability )”的思想。对于大型软件的开发具有重要意义。 2.1 面向对象程序设计方法概述 什么是多态性( polymorphism )? 如果有几个相似而不同的对象,人们往往要求在向它们发出同一个消息时,各自作出不同的操作,这种情况就是“多态现象”。 比如,高二1,2,3班,听到上课铃后,作出的动作是各自走进自己的教室上课,而不会走错教室。 C++中,所谓多态性是指,由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。 显然,多态性能增加程序的灵活性,它是面向对象程序设计的重要特征。 2.2 类的声明和对象的定义 类和对象的关系 每一个实体都可以作为对象,一些对象具有相同的结构和特性。如高一1班,2班,3班。他们是不同的对象,但具有完全相同的结构的特性。每个对象都属于一个特定的类型。 C++中,对象的类型称为类( class )。类代表了某一批对象的共同特性。前面已经谈到,类是对象的抽象,而对象是类的具体实例( instance )。就象结构体类型和结构体变量一样。 C++中,我们先声明一个类的类型,然后再定义该类的若干对象。对象就是类这种类型的一个变量。类是抽象的,不占内存,而对象是具体的,要占用内存空间。 2.2 类的声明和对象的定义 类的声明 类的声明方法和结构体的声明方法一样,只是将关键字struct 换成class: class 类名 { private: 私有数据成员和私有成员函数; public: 公共数据成员和公共成员函数; }; 2.2 类的声明和对象的定义 类的

文档评论(0)

441113422 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档