c++第1章(类和对象-4).ppt

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

基于对象的程序设计 第1章 类和对象 第2章 关于类和对象的进一步讨论 第3章 运算符重载 第1章 类和对象 1-1 面向对象程序设计方法概述 1-2 类的声明和对象的定义 1-3 类的成员函数 1-4 对象成员的引用 1-5 类的封装性和信息隐蔽 1-6 类和对象的简单应用举例 1-1 面向对象程序设计方法概述 对于规模比较小的程序,编程者可以直接编写出一个面向过程的程序,详细地描述每一瞬时的数据结构及对其的操作过程。但是当程序规模较大时,就显得力不从心了。C++就是为了解决编写大程序过程中的困难而产生的。 1-1.1 什么是面向对象的程序设计 面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的: 在自然世界和社会生活中,一个复杂的事物总是由许多部分组成的。 当人们生产汽车时,分别设计和制造发动机、底盘、车身和轮子,最后把它们组装在一起。在组装时,各部分之间有一定的联系,以便协调工作。这就是面向对象的程序设计的基本思路。 1. 对象 客观世界中任何一个事物都可以看成一个对象(object)。对象是构成系统的基本单位。 任何一个对象都应当具有这两个要素,即属性和行为,它能根据外界给的信息进行相应的操作。一个对象往往是由一组属性和一组行为构成的。 一般来说,凡是具备属性和行为这两种要素的,都可以作为对象。 在一个系统中的多个对象之间通过一定的渠道相互联系,要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。对象之间就是这样通过发送和接收消息互相联系的。 图1-1 在C++中,每个对象都是由数据和函数(即操作代码)这两部分组成的,见图1-2。 数据体现了前面提到的“属性”,如一个三角形对象,它的3个边长就是它的属性。函数是用来对数据进行操作的,以便实现某些功能,例如可以通过边长计算出三角形的面积,并且输出三角形的边长和面积 计算三角形面积和输出有关数据就是前面提到的行为,在程序设计方法中也称为方法。调用对象中的函数就是向该对象传送一个消息,要求该对象实现某一行为(功能)。 2. 封装与信息隐蔽 面向对象程序设计方法的一个重要特点就是“封装性” , 所谓“封装”,指两方面的含义: 一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。 二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽。 3. 抽象 抽象的作用是表示同一类事物的本质。 如一个三角形可以作为一个对象,10个不同尺寸的三角形是10个对象。如果这10个三角形对象有相同的属性和行为,可以将它们抽象为一种类型,称为三角形类型。 4. 继承与重用 如果在软件开发中已经建立了一个名为A的“类”,又想另外建立一个名为B的“类”,而后者与前者内容基本相同,只是在前者的基础上增加一些属性和行为,只需在类A的基础上增加一些新内容即可。这就是面向对象程序设计中的继承机制。 C++提供了继承机制,采用继承的方法可以很方便地利用一个已有的类建立一个新的类。这就是常说的“软件重用”(software reusability) 的思想。 5. 多态性 在C++中,所谓多态性(polymorphism)是指: 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。 如,在Windows环境下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。 1-1.2 面向对象程序设计的特点 传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。 面向对象程序设计采取的是另外一种思路。它面对的是一个个对象。实际上,每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。 程序设计者的任务包括两个方面: 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起; 二是考虑怎样向有关对象发送消息,以完成所需的任务。 1-1.3 类和对象的作用 类是所有面向对象的语言的共同特征,所有面向对象的语言都提供了这种类型。 基于对象就是基于类。与面向过程的程序不同,基于对象的程序是以类和对象为基础的,程序的操作是围绕对象进行的。在此基础上利用了继承机制和多态性,就成为面向对象的程序设计。 程序=算法+数据结构 对象 = 算法 + 数据结构 程序 = (对象+对象+对象+…) + 消息

文档评论(0)

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

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

1亿VIP精品文档

相关文档