c++类和对象的概念及定义ppt课件.ppt
《c++类和对象的概念及定义ppt课件.ppt》由会员分享,可在线阅读,更多相关《c++类和对象的概念及定义ppt课件.ppt(60页珍藏版)》请在三一办公上搜索。
1、2022/11/16,1,C+面向对象程序设计,普通高等教育“十一五”国家级规划教材中国高等院校计算机基础教育课程体系规划教材,2022/11/16,2,第3讲 面向对象概述,授课内容类和对象的概念以及它们的定义。主要内容有:1类和对象的基本概念;2. 面向对象分析与设计3. UML4类的声明;5对象及其定义;6类的成员函数;7对象成员的引用。,2022/11/16,3,第3讲 类和对象的概念及定义,授课要求1掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2掌握类对象的定义;3理解类的成员的访问控制的含义,公有、私有和保护成员的区别。 4能够根据给定的要求定义类并实现类
2、的成员函数;,2022/11/16,4,第3讲 类和对象的概念及定义,授课重点1本讲的重点是类和对象的概念和定义授课难点1该讲的难点是类和对象的理解。,2022/11/16,5,1面向对象程序设计方法,(1)概述,面向过程的程序设计,小规模,大规模,力不从心,面向对象程序设计,2022/11/16,6,1面向对象程序设计方法,(1)概述面向对象的程序设计的思路和人们日常生活中处理问题的思路是相似的。面向对象的程序设计的基本思路:,生产汽车,组装,众多零件,面向对象的程序设计:(对象+对象+对象+) + 消息 = 程序,2022/11/16,7,1面向对象程序设计方法,(2)对象含义:客观世界中
3、任何一个事物都可以看成一个对象(object)。对象可大可小。对象是构成系统的基本单位。任何一个对象都应当具有这两个要素:属性(attribute)和行为(behavior) 。比如:A学生“张三”是一个对象,他有属性:学号、姓名、性别等。行为有:学习、吃饭等。B“打开文件按钮”也是一个对象,它有属性:形状、颜色、大小等。行为有:打开文件等。,张三,2022/11/16,8,1面向对象程序设计方法,在C+程序设计中,属性即基本数据;行为即操作代码,也就是函数,见图1所示。对象之间通过发送和接收消息互相联系的。见图2所示。,图1 对象,图2 对象的联系,2022/11/16,9,1面向对象程序设
4、计方法,使用面向对象的程序设计方法设计软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象。在C+中,每个对象都是由数据和函数(即操作代码)这两部分组成的。,2022/11/16,10,1面向对象程序设计方法,(3)类(class)含义:具有相同属性和行为的所有对象的集合。比如:所有在校学习的人,具有相同的属性:学号、姓名、性别等,具有相同的行为:学习。所以,这些人构成一个类,即学生类。,2022/11/16,11,2面向对象程序设计的基本特征,(1)封装与信息隐蔽(encapsulation and imformation hiding)可以对一个对象进行封装处理,把它的一
5、部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚至是不可知的。这样做的好处是大大降低了操作对象的复杂程度。面向对象程序设计方法的一个重要特点就是“封装性” (encapsulation)。,2022/11/16,12,2面向对象程序设计的基本特征,所谓“封装”,指两方面的含义: 一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。这种对外界隐蔽的做法称为信息隐蔽(imformation hiding)。信息隐蔽还有利于数据安全,防止无关的人了解和修改数
6、据。,2022/11/16,13,2面向对象程序设计的基本特征,(2)抽象(abstraction)在程序设计方法中,常用到抽象这一名词。抽象的过程是将有关事物的共性归纳、集中的过程。抽象的作用是表示同一类事物的本质。比如:把在座的同学的共同特性抽出来:学号、姓名、性别、学习等。把大家都可以归到一类,即“学生”类。,2022/11/16,14,2面向对象程序设计的基本特征,(3)继承与重用(inheritance)继承:在一个已有的类上建立一个新的类。C+提供了继承机制,可以很方便地利用一个已有的类建立一个新的类。即“软件重用” 。,“学生”类,增加属性:“专业”,“大学生”类,继承机制,例如
7、:“白马”继承了“马”的基本特征,又增加了新的特征(颜色),“马”是父类,或称为基类,“白马”是从“马”派生出来的,称为子类或派生类。,2022/11/16,15,2面向对象程序设计的基本特征,(4)多态性(polymorphism)含义:如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态性。比如:在Windows环境下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。,在C+中,多态性是指:由继承而产生的相关的不同的
8、类,其对象对同一消息会作出不同的响应。,2022/11/16,16,3面向对象的程序设计含义,面向对象的程序设计含义: 它的整个程序由一系列相互作用的对象构成,对象之间的交互通过发送消息来实现,通过对象响应消息来实现程序的功能。程序设计者的任务包括两个方面: 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。,2022/11/16,17,3面向对象的程序设计含义,面向对象程序设计的表示: 对象 = 算法 数据结构程序 = (对象+对象+对象+) + 消息面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机
9、会。,2022/11/16,18,4、面向对象的分析和设计,2022/11/16,19,面向对象的分析基本概念,OOA环节的主要工作是明确用户的需求,并用标准化的面向对象模型规范地描述这一需求,最后形成面向对象的分析模型,即OOA模型。它主要确定要干什么(“What to do”)。 OOA强调用对象的属性和服务分别描述事物的静态特征和动态行为。,2022/11/16,20,面向对象的设计基本概念,该环节的主要工作是确定如何做(“How to do”),面向对象的设计将在OOA模型的基础上引入界面管理、任务管理和数据管理等方面的内容,从而确定OOD模型。,2022/11/16,21,5、UML
10、,2022/11/16,22,1 概述基本概念,Unified Modeling LanguageUML是一种建模的语言,不是编程的语言。UML提供了大量的图形表示模型,我们要掌握类图的表示以及类之间的简单关系。,2022/11/16,23,2 类图基本概念,类图是由类和与之相关的各种静态关系共同组成的图形。 类图展示的是软件模型的静态结构,类的内部结构以及和其他类的关系。,2022/11/16,24,2 类图类的表示,2022/11/16,25,2 类图对象的表示,2022/11/16,26,2 类图关系的表示,依赖:当要表明一个类使用另一个类作为它的成员函数参数时,就使用依赖关系。通常类之
11、间的调用关系、友元、类的实例化都属于这类关系。,依赖、关联、包含、泛化,2022/11/16,27,2 关系的表示关联,关联用于表述一个类的对象和另一个类的对象之间相互作用的连接。,2022/11/16,28,2 关系的表示包含,聚集表示类之间的关系是整体与部分的关系。组合是一种简单的聚集形式,但是它具有更强的拥有关系。,2022/11/16,29,2 关系的表示泛化,类之间的继承关系在UML中称为泛化 。,2022/11/16,30,6类的声明和对象的定义,(1)类和对象的关系类是对象的抽象,而对象是类的具体实例(instance)。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在C
12、+中也是先声明一个类类型,然后用它去定义若干个同类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。,2022/11/16,31,(2)声明类类型,在C+中声明一个类类型和声明一个结构体类型是相似的。声明类的一般形式如下: class 类名 private: 私有的数据和成员函数; public: 公用的数据和成员函数; protected: 受保护的数据和成员函数;,注意:如果在类的定义中不指定限定符,则系统就默认为是私有的(private)。,rivate、 protected、public称为成员访问限定符(member access specifi
13、er)。,2022/11/16,32,(2)声明类类型,下面是声明一个结构体类型的方法: struct Student /声明了一个名为Student的结构体类型 int num;char name20;char sex;Student stud1,stud2; /定义了两个结构体变量stud1和stud2,2022/11/16,33,(2)声明类类型,现在声明一个类: class Student /以class开头 int num;char name20; char sex; /以上3行是数据成员 void display( ) /这是成员函数 coutnum:numendl;coutnam
14、e:nameendl; coutsex:sexendl; /以上4行是函数中的操作语句 ;Student stud1,stud2;/定义了两个Student 类的对象stud1和stud2,2022/11/16,34,(2)声明类类型,说明:(a)用private声明的成员称为私有的成员,它只能被类中的成员函数访问,不能被类外访问,但可以被友元类的成员函数访问(后面讲到)。(b)用protected声明的成员称为受保护的成员,它不能被类外访问(这点与私有成员类似),但可以被派生类的成员函数访问。(c)用public声明的成员称为公有的成员,它可以被类中的成员函数访问,也可以被类外访问。,202
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 对象 概念 定义 ppt 课件
链接地址:https://www.31ppt.com/p-1375491.html