欢迎来到天天文库
浏览记录
ID:46489273
大小:1.42 MB
页数:28页
时间:2019-11-24
《类的概念与定义(一)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计第7章类的概念与定义OOP概念类和对象构造函数和析构函数类和对象构造函数和析构函数构造函数和析构函数this指针了解OOP技术掌握类的定义掌握对象的定义和使用掌握构造函数和析构函数的定义7.1面向对象设计方法传统的程序设计方法是一种结构化程序设计方法。基于功能分解,将整个软件看作是一个个子功能模块的组合。结构化的方法不能适应变化的需求,不利于软件的维护与扩充。数据和作用在该数据上的操作是相互分离的。7.1.1面向对象设计技术概述1.面向对象设计方法的起源结构化第7章类的概念与定义7.1面向对象设计方法7.1.1面向对象设计技
2、术概述1.面向对象设计方法的起源基于对象分解基于对象分解方法设计的软件在结构上更加稳定。避免了传统程序设计中数据和操作的潜在的不一致性软件被看作是对象及其相互作用关系的组合,便于抽象思维软件的可重用性,可靠性和安全性高面向对象(OOP)第7章类的概念与定义7.1面向对象设计方法7.1.1面向对象设计技术概述2.面向对象方法的概念对象是对现实实体的抽象,它包括数据和操作两部分。对象、类、消息、抽象、封装、继承、多态性等。数据操作类描述对象的性质、状态。描述该对象的行为。表示具有相同或相似性质的一组对象第7章类的概念与定义7.1面向对象设计方
3、法7.1.1面向对象设计技术概述2.面向对象方法的概念抽象强调事物的主要方面,忽略其次要方面。封装对象的各种外部性质同其具体的内部实现相互分离。继承派生新类的方法。通过继承,新类不仅具有旧类的属性和方法,而且还具有自己独有的属性和方法。多态性在一组具有继承关系的类层次中,同一个消息发给该类及该类的子类对象时,这些对象会作出不同的响应(即一个消息,多种行为)。第7章类的概念与定义7.1面向对象设计方法7.1.1面向对象设计技术概述3.面向对象设计方法的基本步骤系统分析阶段对系统进行对象分解,从中抽象出对象、类及子类,建立该系统对象模型。系统
4、设计阶段确定目标系统问题的求解策略,系统划分为子系统各个子系统的硬件和软件资源配置等第7章类的概念与定义7.1面向对象设计方法7.1.1面向对象设计技术概述3.面向对象设计方法的基本步骤对象设计阶段完成各个对象(类)的细节处理内部数据结构表示、对象接口及其算法等。应用程序生成阶段根据对象间的相互作用关系,完成整个系统软件构造。第7章类的概念与定义7.1面向对象设计方法7.1.2类与对象的概念和定义1.类的概念和特征众多的具有相同属性的事物类归纳、划分桥梁树木建筑花草栅栏…场景装饰物具体的对象实例化一棵梨树一棵桃树一排栅栏一棵桃树…一棵梨树
5、第7章类的概念与定义7.1面向对象设计方法7.1.2类与对象的概念和定义1.类的概念和特征类的6个特点:1)程序设计更有条理;2)程序的可读性更好;3)程序设计的过程真正像是机器部件的组装;4)使程序开发模块化,分工变得方便和自然;5)提高可重用性;6)引入了类(class)和对象(object)的概念,就使得C++语言与C语言相比发生了本质的变化。第7章类的概念与定义7.1面向对象设计方法7.1.2类与对象的概念和定义2.类的定义C++的类是在结构体的基础上扩充而来的。在C++语言中,结构体可以被作为成员缺省为公有访问属性的类使用。cl
6、ass类名{private:数据成员或成员函数protected:数据成员或成员函数public:数据成员或成员函数};<各成员函数的实现代码>第7章类的概念与定义7.1面向对象设计方法7.1.2类与对象的概念和定义2.类的定义注意事项:1)class是定义类的关键字,类名必须是C++的有效标识符,但一般首字母大写;2)大括号的部分是类的成员(数据成员和函数成员),分别由private、public、protected三个关键字后跟冒号来指定访问属性。可以任何顺序出现任意次,这3部分并非必须同时出现;3)只有类中的成员函数才能使用priv
7、ate的数据成员和成员函数;第7章类的概念与定义7.1面向对象设计方法7.1.2类与对象的概念和定义2.类的定义4)public部分说明的数据成员或成员函数可被程序中的任何函数或语句调用,public成员多为成员函数;5)protected部分说明的数据成员和成员函数是不能在类之外调用的,只有类的成员函数及其子类(派生类)可以存取protected的成员;6)当未指明成员是哪部分时,默认是属于private成员,但一般不要采用;7)在类的定义中,类的说明部分的右边大括号后面必须有一个“;”。第7章类的概念与定义7.1面向对象设计方法7.1
8、.2类与对象的概念和定义3.成员函数的定义将成员函数的定义直接写在类中。classRecord{private:charbookname[20];intnumber;public:voidre
此文档下载收益归作者所有