文档详情

c程序设计题解与上机指导.pptx

发布:2020-02-24约2.15万字共107页下载文档
文本预览下载声明
第4章类和对象重点 :在理解类和对象概念的基础上学习类 的声明和定义。引入C++的类(class)和对象(object) 的概念,建立“函数也可以是数据类型的成员”的思想。类的声明和定义构造函数、析构函数对象的创建和使用对象的数组、指针、赋值和复制静态成员共用数据的保护友元属性(静态特征)行为 (动态特征)对象发消息 ——让对象作什么。 一个系统中有多个对象相互作用。4.0 面向对象程序设计方法概述 现实的问题空间C++中数据函数(方法、操作)调用对象中的函数就是向该对象发消息,是对象的少量的对外接口。封装性 、信息隐蔽抽象:现实中对象 类 对象(类的一个实例)C++抽象出类型 变量继承性 与 软件重用利用一个已有的类建立一个新类多态性:由继承而产生的相关的不同的类,其对象对同一消息会做出不同响应。系统(程序)对象1对象2数据 函数(算法)数据 函数(算法) 消息面向过程面向对象不同层次的抽象 基于对象就是基于类,C++中的类是实现面向对象程序设计的基础。面向对象软件开发规范的软件开发过程(软件工程学要解决的问题):1、面向对象分析OOA:粗略的分析任务,归纳出有关对象2、面向对象设计OOD:对类进行具体的设计,提出程序设计的思路和方法,包括算法。3、面向对象编程OOP(选定一种语言写程序)4、面向对象测试OOT:以类作为测试的基本单元5、面向对象维护OOSM:OOP的特性: 抽象 封装和数据隐藏 继承 多态 代码的可重用性 抽象现实中对象 类型定义对象类类型4.1 类的声明和实现类和对象的关系 类是对象的抽象,对象是类的具体实例。 某对象的类型称为某类,或某对象是某类类型的一个变量。 类类型是一种自定义的数据类型。 用户要先提供类的声明和实现,然后才能使用。类型是什么?指定类型完成了3项工作: 1、决定数据对象需要的内存数量 2、决定如何解释内存中的位 3、决定可使用数据对象执行的操作或方法 对内置的基本类型来说,有关操作的信息被内置到编译器中。用户自定义的类型必须自己提供这些信息。具有根据实际需要定制新数据类型的强大功能和灵活性。类是将抽象转换为用户定义类型的C++工具。它将数据和操纵数据的方法组合成一个整体。类规范由两部分组成: 类声明(类的蓝图) 类方法定义:描述如何实现类成员函数。一、类的声明:指出该类包括哪些数据和操作。类头 Class 类名 { private: 私有成员声明块; protected: 保护成员声明块; public: 公有成员声明块; };数据成员成员函数成员访问属性修饰符类体分号结束例:class CStudent{ public : int num; char name[20]; char sex; void display( );} ;二、类成员访问属性:控制外部对类成员的访问,体现了类的数据隐藏性。1) private: 限定为私有成员。 该成员只能被本类中的成员函数和类的友元函数引用。 是类中的默认访问控制,可实现信息隐蔽。2) public: 公用的成员 可被本类中的成员函数引用,也可被类的作用域的其他函数引用。 是类的对外接口3) protected:受保护成员 不能被类外访问,但可以被派生类的成员函数访问。 说明: 每种说明符可在类体中使用多次。 访问限定符的作用域是从该说明符出现开始到 下一个说明符之前或类体结束之前结束。 如果在类体起始点无访问说明符,系统默认定 义为私有(private)。 访问限定符private(私有的)和protected (保护的)体现了类具有数据隐蔽性。 (Encapsulation)。class CStudent{ int num; public: float data; private: string name; char sex; public : void display( );} ;类和结构体的异同 C++ 中扩展了C 中结构体struct 的定义,使类和结构体具有同样的功能。但结构体中默认的成员访问限定为public ,即它不天生具备信息隐蔽的特征。 struct CStudent { …. }; 建议尽量使用类class 三、 类的实现----类的成员函数的定义函数定义: 通常在类定义中,成员函数仅作声明。 函数定义通常在类的声明之后,在类外进行。格式如下: 返回值类型 类名 :: 函数名(参数表) { …//函数体 } 其中运算符“::”称为作用域运算符,它指出该函数是属于哪一个类的成员函数。class CStudent{ int num; string name; char sex; i
显示全部
相似文档