第2章 类和对象

第2章 类和对象

ID:44952150

大小:521.00 KB

页数:97页

时间:2019-11-05

第2章 类和对象_第1页
第2章 类和对象_第2页
第2章 类和对象_第3页
第2章 类和对象_第4页
第2章 类和对象_第5页
资源描述:

《第2章 类和对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章类和对象2.1面向对象程序设计方法概述2.2类的声明和对象的定义2.3类的成员函数2.4对象成员的引用2.5类和对象的简单应用2.6类的封闭性和信息隐蔽2.1面向对象程序设计方法概述对于规模比较小的程序,程序员可以直接编写出一个面向过程的程序,能详细地描述每一瞬间的数据结构和对其操作的过程。但是当程序规模越来越大,面向过程的程序语言就显得力不从心,面向对象程序设计语言就应运而生,C++就是其中的一个成员。2.1.1什么是面向对象的程序设计2.1.2面向对象程序设计的特点2.1.3类和对象作用2.1.4面向对象的软件开发2.1.1什么是面向对象的程序设计面向对象的程序设计的思路与人

2、们日常生活中处理问题的思路是相似的。一个复杂的事物总是由许多部分组成的。例如,一辆汽车是由发动机、底盘、车身和车轮等部件组成。当人们生产汽车时,不是先设计和制造发动机,再设计和制造底盘,然后设计和制造车身和车轮,而是分别设计和制造发动机、底盘、车身和车轮,最后把它们组装起来。这就是面向对象的基本思路。1.对象客观世界中任何一个事物都可以看成一个对象。对象可以是自然物体,也可以是社会中的一种组织结构(班级、系、学校)甚至一个图形、一项计划等都可以看成对象。复杂的对象由简单的对象组成,例如火车站对象包含售票处、行李房、候车室和站台、信号灯、铁轨和通信设施等对象。对象是构成系统的基本单位。任

3、何一个对象都具有静态和动态的特征。班级这个对象具有从属一个系和专业、学生人数、组建时间等静态特征,它还具有出操、学习、参加运动会等动态特征。静态特征称为属性,动态特征称为行为,外界给对象发出的信息一般称作消息。一个对象往往包含一组属性和一组行为。如电视机包括生产厂家、品牌、屏幕尺寸等是静态特征,开机、关机、选择频道、调节音量、调节彩色等是动态特征。面向对象的程序设计在设计一个系统时,首先要确定系统中包括哪些对象,要分别设计这些对象。在C++中,每个对象由数据和函数(操作代码)两部分组成。数据代表了属性,函数是对数据操作的代码,代表了行为。例如三条边长是三角形的属性,利用三条边长计算三角

4、形面积、输出计算结果,实现这些操作的代码就是对象的行为,在程序设计中又称方法。调用对象中的函数就是向对象传递一个消息,要求对象执行某个操作。2.封装与信息隐蔽对一个对象进行封装处理,把它的一部分属性和功能向外界屏蔽,从外面看不到这些属性和功能。例如录像机里有电路板和机械控制部件,由于有机壳的保护,在外面只看到一个黑箱子,在它的表面有若干个按键。人们只需知道这些按键的功能即可操作录像机。而不必知道录象机的工作原理和系统结构。在设计一个对象时,要周密地考虑如何进行封装,把不必让外界知道的部分隐蔽起来。也就是说,把对象的内部实现和外部行为分隔开来。封装性是面向对象程序设计的一个重要特点,封装

5、在此有两个含义:①把有关的数据和操作代码封装在一个对象中,形成程序中的一个基本单位,各个对象之间相互独立,互不干扰。②把对象中的某些部分对外隐蔽,只留下与外界联系的接口接收外界的消息,这种对外界隐蔽的做法称为信息屏蔽。封装把对象内部实现与外部分隔开,外界不了解对象内部的具体细节,其实外界也不需要了解。外界需要真正了解的是对象的对外接口。C++对象中的公有函数就是对象的对外接口。外界通过调用公有函数,访问对象中的数据成员,完成指定的操作。3.抽象抽象是表示同一类事物本质的方法,它关注事物本质特征,对象是具体的,例如某学院2006级计算机软件专业的一个学生是一个对象,可以将一组同类对象的共

6、同特征抽象出来,从而形成类的概念。可以将前面所提的某学院2006级计算机软件专业的所有学生可抽象出2006级计算机软件专业学生类。类是对象的抽象,而对象是类的具体实例。4.继承与重用如果已经建立名为A的类,现要建立一个名为B的类,而B类与A类的内容基本相同,只是在A类基础上增加了一些属性和行为,这样只需在A类的基础上添加新内容即可,这就是面向对象程序设计中的继承机制。C++也具有继承机制,利用这个机制可以在一个已有的类的基础上建立一个新类,这也是软件重用思想,不仅可以利用自己过去建立的类,而且还可以利用其他人放在类库中的类建立类,这就大大缩短了软件开发周期。5.多态性多个相似而不完全相

7、同的对象,收到外界给的同一个消息时,它们各自执行不同的操作,这种现象叫多态现象。例如在windows中,用鼠标双击一个文件对象时,如果它是可执行文件则会执行文件中的程序,如果它是一个文本文件则会启动一个编辑器来打开这个文件,这就是面向对象程序设计中的多态性一个实际例子。在C++中所谓多态性是指:由继承而产生的新类,它的对象对同一个消息会作出不同的响应。2.1.2面向对象程序设计的特点图2.3传统的面向过程程序设计是围绕功能进行的,用一个函数实现

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

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

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