讲义_03_类和对象的定义
类和对象的概念课件
软件中的对象可以通过类和对象的方式进行组织和管理。例如,一个窗口类可以 包含窗口的属性,如大小、位置等,同时可以通过实例化创建具体的窗口对象, 进行软件的交互操作和管理。
REPORT
CATALOG
DATE
ANALYSIS
SUMMAR Y
06
总结与回顾
本课程的主要内容回顾
对象的创建
通过类创建具有特定属性和行 为的实例对象。
REPORT
CATALOG
DATE
ANALYSIS
SUMMAR Y
05
类和对象的实际应用
类和对象在游戏开发中的应用
角色扮演类
在游戏开发中,角色扮演类用于创建游戏中的角色,包括玩 家角色、敌人角色等。这些角色具有各自的特点、属性和技 能,通过类和对象的编程方式,可以方便地管理和控制游戏 中的角色。
继承
子类继承父类的属性和方法, 并可以扩展或修改它们。
类的定义
类是对象的抽象,定义了对象 的属性和方法。
封装
将数据和操作数据的函数封装 在对象内部,实现数据隐藏和 信息隐藏。
多态
通过接口或继承实现不同对象 对同一消息的响应。
类和对象在实际项目中的应用案例分享
面向对象编程的优势
01
类和对象有助于组织和管理代码,提高代码可读性和可维护性,
掌握类的基本概念和定义 方法
学习如何使用面向对象编 程语言实现类和对象
理解对象的概念及其与类 的关系
了解面向对象编程的优势 和应用场景
学习方法建议
理论与实践相结合
通过实际编程案例来加深对类 和对象概念的理解。
主动思考与反思
在学习过程中不断思考类和对 象的概念,以及如何在实际项 目中应用。
讲义_03_类和对象的定义
2.4访问权限控制
public: SetDate() private:
year month day
protected:
Print()
日期类Date封装在一个程序实体内(定义日期 类)
2016/5/5 面向对象程序设计 26
2.4访问权限控制
日期类Date封装在一个程序 public: private: 实体内(定义日期类Date的 程序代码)将它的私有数据 SetDate() year 成员year、month、day month day 等隐藏起来,不让对象随意 访问,就像把电视机的零部件 protected: Print() 封装在机壳内一样隐藏和保护 起来,用户只有操作机壳面板上的 按键和开关才能收看电视。对象要访问这些私有数据成员year、month、 day等,也只有通过调用公有的成员函数SetDate()、Print()才能实现。 而成员函数就像电视机机壳面板上的按键和开光,是该类对象访问私 有数据成员的一个接口界面。因此,在C++中通常把公有成员函数称 为一个类的接口界面,简称“接口”。
类[型]
int
由模型生成对象
1,2,3…
面向对象程序设计
对象
[int] x;
6
1.4消息及其传递
对象之间的联系和交互
简单的:成员函数调用 复杂的:同一消息引发不同响应
2016/5/5
面向对象程序设计
7
1.5数据抽象
duck
color; type; size of webbed feet swim(); quack(); fly();
2016/5/5 面向对象程序设计 23
第3讲 类和对象的概念及定义.
在C++中,多态性是指:由继承而产生的相关的不 同的类,其对象对同一消息会作出不同的响应。
3.面向对象的程序设计含义
面向对象的程序设计含义: 它的整个程序由一系列相互作用的对象构成,对象 之间的交互通过发送消息来实现,通过对象响应消 息来实现程序的功能。 程序设计者的任务包括两个方面: 一是设计所需的各种类和对象,即决定把哪些数据和 操作封装在一起; 二是考虑怎样向有关对象发送消息,以完成所需的任 务。
2018年9月25日2时33分
2
第3讲 类和对象的概念及定义
授课要求 1.掌握类的概念、类的定义格式、类与结构的关系、 类的成员属性和类的封装性; 2.掌握类对象的定义; 3.理解类的成员的访问控制的含义,公有、私有和 保护成员的区别。 4.能够根据给定的要求定义类并实现类的成员函数;
2018年9月25日2时33分
(1)概述 面向对象的程序设计的思路和人们日常生活中处理问 题的思路是相似的。 众多零件 面向对象的程序设计的基本思路:
生产汽车
组装
面向对象的程序设计: (对象+对象+对象+…) + 消息 = 程序
2018年9月25日2时33分 6
1.面向对象程序设计方法
(2)对象 含义:客观世界中任何一个事物都可以看成一个对象 (object)。 对象可大可小。对象是构成系统的基本单位。 任何一个对象都应当具有这两个要素: 张三 属性(attribute)和行为(behavior) 。 比如: A.学生“张三”是一个对象,他有属性:学号、姓 名、性别等。行为有:学习、吃饭等。 B.“打开文件按钮”也是一个对象,它有属性:形 状、颜色、大小等。行为有:打开文件等。
类和对象的概念
类和对象的概念
(一)定义不同:类是现实世界或思维世界中的实体在计算机中的反映,它将数据以
及这些数据上的操作封装在一起。
对象是具有类类型的变量。
类和对象是面向对象编程技
术中的最基本的概念。
(二)范畴不同:类是一个抽象的概念,它不存在于现实中的时间、空间里。
对象是类的一个具体。
它是一个实实在在存在的东西。
类和对象的关系
类就是对象的抽象化,而对象就是类的具体内容实例。
类就是抽象化的,不挤占内存,而对象就是具体内容的,挤占存储空间。
类就是用作创建对象的蓝图,它就是一个定义包
含在特定类型的对象中的方法和变量的软件模板。
类与对象的关系就如模具和铸件的关系类的实例化结果就是对象,而对一类对象的
抽象就是类,类描述了一组有相同属性和相同方法的对象。
类与对象的基本概念
例如,你在计算机上写一封信给你的同事John, 那么这封信本身是一个对象。它具有一般信所有的 共性。例如,有信的内容和允许你处理的一些方法 或动作(读信、写信、发信等)。
信的内容在计算机中称为数据,而需要处理的一些 方法和动作,在计算机里则统称为“操作”,将这 些信的共性汇集起来就有了对象这一概念。
可以由“信”这个类来定义两个类:“英文信” 和“日文信”,它们保留了“信”类的服务,并 添加上各自独立的服务。这种“保留”称为“继 承”。
“信”类称为基类,基类又可称为父类、超类或 泛化类。它具有一般信件的公共操作,读、写、 发送信。
“英文信”、“日文信”称为派生类,又可称为 子类或特化类。它们继承了其超类“信”和读、 写、发送等操作,但同时又加上它们自己的“英 文”和“日文”特定操作。
用计算机软件的术语可描述为公式
对象=数据+动作
所有的信的集合就构成了类,信中的内容不同(即 对象的属性值不同)。
类中的“信”都具有相同的服务:发信。发送英文 信和发送日文信的方式是一样的。
处理英文信和处理日文信有相同的方式,还有一 些各自独有的方式。那么,如果建立两套平行的 信件处理机制,显然是不经济的。
继承是一种联结类的层次模型,并且允 许和鼓励类的重用。
层次结构的上层(或祖先类)最具有通用 性。
下层部分,即后代具有特殊性。
类可以从它的祖先那里继承方法和实例变 量(即对象中可访问的数据),也可以 修改或增加新的方法使之更符合特殊的 需要。
1.2 消息与合作
一个对象内具有过程和数据。外部的用户或对象 对对象提出的请求,可以称为对该对象发送消息。
在强类型面向对象环境中,运行时系统保持所有多态 引用自动地和它们的动态类型相联结。
类和对象的理解
类和对象的理解
嘿,朋友!今天咱就来好好唠唠类和对象这个事儿。
你想想看,类就像是一个模子,一个能打造出好多相似东西的模子!比如说汽车工厂吧,那汽车的设计图、生产流程啥的,就可以看作是一个类。
而生产出来的一辆辆汽车呢,那就是对象啦!就好比咱有了做蛋糕的配方(类),然后用这个配方做出的一个个蛋糕(对象)。
这多形象啊!
咱再深入点讲讲,在编程里面,类就是一种定义,它规定了对象会有哪些属性和方法。
举个例子,就说游戏里的角色吧,有战士类、法师类啥的,它们都有自己特定的技能和属性。
这战士类就是一个类,而每个具体的战士人物就是对象。
这不就跟生活中学校是一个类,学校里的每个学生都是对象一样嘛!
我以前刚开始学的时候,哎呀,真觉得这概念好抽象,就像在云雾里似的,摸不着头脑。
但后来慢慢理解了,就发现类和对象其实无处不在呀!你随便看看周围,家里的家具、街上的行人、天上的鸟,都是一个个具体的对象,而它们又都可以归到不同的类里去。
这多有意思啊!
咱再说回来,类能让我们更方便地管理和操作这些对象。
就像给一堆玩具分类整理一样,一下子就清楚明了啦!比如说我们要设计一个软件,先定义好各种类,然后就能轻松地创建和使用相关的对象啦!这简直太棒了吧!
所以说呀,类和对象是真的重要,是编程世界里的基石啊!就像盖房子得有牢固的基础一样,如果没有把类和对象搞明白,那后续的编程之路可就难走咯!咱可得好好掌握它们,才能在编程的海洋里畅游无阻呀,你说是不是?。
类和对象的概念PPT课件
14
2.3 使用代码窗口
2.3.1 代码窗口的组成
事件名列表
Hale Waihona Puke 类名列表2021/3/12
15
2.3 使用代码窗口
2.3.2 使用代码窗口
自动完成功能
语法检查功能
2021/3/12
16
2.4 Visual Basic .NET的编程步骤
程序设计的基本步骤如下:
(1) 创建新项目 (2) 添加控件 (3) 修改对象属性 (4) 编写事件代码 (5) 运行程序 (6) 修改完善 (7) 生成可执行文件
2021/3/12
13
2.2 窗体与基本控件
2.2.9 焦点和Tab键序
焦点是控件接收用户鼠标或键盘输入的能力。当对象具有焦点时, 可接收用户的输入。在Microsoft Windows环境中,任一时刻都 可以同时运行多个程序,但只有具有焦点的应用程序才有活动标题 栏(蓝色标题栏),也只有具有焦点的程序才能接受用户输入(键 盘或鼠标的动作)。
所谓Tab键序指的是在用户按下〈Tab〉键时,焦点在控件间移 动的顺序。每个窗体都有自己的Tab键序。缺省状态下Tab键序与 建立这些控件的顺序相同。例如在窗体上建立三个命令按钮C1、 C2和C3,程序启动时C1首先获得焦点。当用户按下〈Tab〉键时 焦点依此向C2、C3转移,如此这般往复循环。
2021/3/12
制对20象21/。3/12
3
2.2 窗体与基本控件
2.2.1 创建窗体
窗体就是应用程序中的一个窗口。当新建一个“Windows应用 程序”时,就会显示一个缺省的窗体,该窗体包含了一些 Windows应用程序最常用的元素,如标题栏、控制框、最小化、 最大化和关闭按钮等。
类和对象的定义和使用
类和对象的定义和使用【类和对象的基本概念】“什么是类?”对于这个问题我相信一个从事C++不久的人并不能够一下子解答出来,但其实它却是一样很好描述的东西。
类其实就是类型。
要了解类,我们首先就需要知道什么是对象。
对象其实就是某一个具体的实体。
例如一个杯子,一个苹果,这些具体的事物,我们将它们称之为一个具体的对象。
在现实生活中,我们是需要对自己的物品进行整理的,如果我们不进行整理,就会显得非常的乱,而当我们需要找寻某一件东西的时候也会变得很难找。
所以我们对于这些东西(也就是对象)需要有一个行之有效的管理策略,也就是分类了。
而类型就是这样因运而生的。
所谓的类其实就是一个类型。
通常我们会将某一个对象归结为某一类型的对象。
例如一个杯子其实就是一个/杯子类型的/具体对象(请阅读时注意断句)一个苹果其实就是一个苹果类型的具体对象……按照这样的逻辑我们可以得出来一个最基本的结论。
类型是抽象的,它泛指一类相同的事物,而对象是形象的,也可以说是具体的,它指代一样具体的东西。
【属性和方法】每一类事物都会有一些固定的或者不定的特征,用于描述这些特征的信息我们称之为属性。
在C++中属性通常是指存储属性的变量,也叫成员变量。
例如我们可以描述某一个学生的信息有学号、姓名、年龄等,这些就是学生类型的属性。
(因为每一个学生都会有这些属性)方法是针对属性的操作,简而言之就是使用某一个类中属性的具体方法,通常我们会在类中使用函数来体现(函数的实现过程其实就是使用编程语言描述事物处理方法的过程),这一类的函数我们称之为成员函数,也叫成员方法。
在C++中,一个类就是由不定量的成员方法和属性构成。
【访问权限】访问权限是每一个面向对象语言(OOL)都会有的一个特色,它通过某一些固定的关键字能够给类中的成员指定外部人员的访问权限。
通常较多的是public (公有的)、private(私有的)以及protected(保护的)。
下面我们可以将一个类想象成一个人,了解一下这些关键字的含义:public(公有的),顾名思义就是所有的人都可以自由使用的一些资源,无论是这个类本身还是除了这个类外的其他代码都可以自由地对这个类中的公有资源进行访问和操作,不受任何限制。
《类和对象的概念》课件
明确类和对象的职责与属性
详细描述
在设计类和对象时,首先需要明确每个类和对象的职责和 属性,确保它们具有清晰、准确的功能定义。同时,要遵 循单一职责原则,避免一个类或对象承担过多的职责。
总结词
合理规划类和对象的继承关系
详细描述
在面向对象编程中,继承是实现代码复用的重要手段。合 理规划类和对象的继承关系,可以使代码结构更加清晰、 易于维护。同时,要注意避免过度继承和多重继承带来的 问题。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的命名冲突问题
详细描述
在多个类或对象共存的情况下,可能会出现命名冲突的问题。为了避免这种情况 ,可以采用命名规范、命名约定等方式来避免命名冲突,提高代码的可读性和可 维护性。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的内存泄漏问题
详细描述
02
通过封装,对象的属性和行为被隐藏在内部, 只通过外部接口与外界交互。
03
封装可以提高代码的安全性和可维护性,防止 外部随意修改内部实现细节。
继承
01
继承是子类继承父类的 属性和行为,子类可以 使用父类的所有非私有
属性和方法。
02
通过继承,子类可以扩 展和修改父类的功能, 实现代码的重用和扩展
。
《类和对象的概念》ppt课件
$number {01}
目录
• 类和对象的基本概念 • 类的特性 • 对象的创建和使用 • 类和对象的应用 • 类和对象的常见问题与解决方案
01
类和对象的基本概念
类的定义
总结词
类是对象的抽象,定义了一组具有相似属性和行为的对象。
详细描述
类是面向对象编程中的一个基本概念,它是对一组具有相似 属性和行为的对象的抽象。通过类,我们可以定义一组对象 的共同特征和行为,以及如何对这些特征和行为进行操作。
类与对象的讲解
限制访问符说明范围
• 其说明范围为:从说明处起,直到下一 个限制访问符之间的成员均被说明为同 一访问权限
如下列 aaa 类共有 公有成员 10 个,私有成员 4 个
struct aaa { int d;get_d(); public: int x; get_x(); private: int y;get_y(); public: int z;get_z(); int a;get_a(); int b;get_b(); private: int c;get_c(); }
• student student1,student2; • student1.print(); • 类 student 及其成员只有“一 套”,由student 定义的对象 有两个(student1和student2)。
4.成员函数调用自身对 象的默认指针 this
问题:函数print()怎样知道调 用哪一个对象的print()呢?
成员函数的声明和定义
成员函数的声明在类内进行 成员函数的定义在类外进行 如果定义在类内,则默认其为内联 函数 类外定义成员函数,如无类名和作 用域符号::,则视其为普通函数。
学生对象例代码一(类定义部分)
#include "iostream.h" class student { char *name; int number; float level; public: void input(char *pname,float lev,int num) //内联 {name=pname;number=num;level=lev;} void print()//内联 {cout<<"NAME:"<<name<<"\tNUMBER:"<<number<<"\ tLEVEL:"<<level<<endl;}; };
类和对象的基本概念
类和对象的基本概念C和C++中struct区别n c语⾔struct只有变量n c++语⾔struct 既有变量,也有函数类的封装我们编写程序的⽬的是为了解决现实中的问题,⽽这些问题的构成都是由各种事物组成,我们在计算机中要解决这种问题,⾸先要做就是要将这个问题的参与者:事和物抽象到计算机程序中,也就是⽤程序语⾔表⽰现实的事物。
那么现在问题是如何⽤程序语⾔来表⽰现实事物?现实世界的事物所具有的共性就是每个事物都具有⾃⾝的属性,⼀些⾃⾝具有的⾏为,所以如果我们能把事物的属性和⾏为表⽰出来,那么就可以抽象出来这个事物。
⽐如我们要表⽰⼈这个对象,在c语⾔中,我们可以这么表⽰:typedef struct _Person{char name[64];int age;}Person;typedef struct _Aninal{char name[64];int age;int type; //动物种类}Ainmal;void PersonEat(Person* person){printf("%s在吃⼈吃的饭!\n",person->name);}void AnimalEat(Ainmal* animal){printf("%s在吃动物吃的饭!\n", animal->name);}int main(){Person person;strcpy(, "⼩明");person.age = 30;AnimalEat(&person);return EXIT_SUCCESS;}定义⼀个结构体⽤来表⽰⼀个对象所包含的属性,函数⽤来表⽰⼀个对象所具有的⾏为,这样我们就表⽰出来⼀个事物,在c语⾔中,⾏为和属性是分开的,也就是说吃饭这个属性不属于某类对象,⽽属于所有的共同的数据,所以不单单是PeopleEat可以调⽤Person数据,AnimalEat也可以调⽤Person数据,那么万⼀调⽤错误,将会导致问题发⽣。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.不能有自身类的对象,但可以是自 身类的指针或者引用,此时称之为 自引用类,如果用其它类的对象作为 数据成员,则称此为类的复合 (composition).
2014-2-23 面向对象程序设计 32
练习——定义类
定义一个Desk类,其属性有:length, width, height和color;
3.2成员函数(member function) 若干特性:
1.连接性:内部连接和外部连接; 2.重载性; 3.默认参数
2014-2-23 面向对象程序设计 34
3.2.1连接性—内联函数
在类定义体内定义
2014-2-23
面向对象程序设计
35
类作用域运算符::
1).一元作用域运算符:: 在同名局部变量的作用域中访问全 局变量. ::全局变量名 2).二元作用域运算符:: 标识某个成员函数是属于哪个类, 或者说此成员的类属关系.
2014-2-23 面向对象程序设计 24
2.4访问权限控制
(4)通常总是将类的数据成员指定为私有的,以实现 数据隐藏,这些数据成员用来描述该类对象的属 性,因编程者无法直接访问它们而隐藏起来,一 般将成员函数指定为公有的,作为该类对象访问 私有数据成员的一个接口界面(Interface),即对象 访问私有数据成员的一条消息通路提供给外界使 用。因此,一个类的对象只能通过公有成员函数 访问它的私有数据成员,从而隐藏了处理这些数 据的具体实现细节,使得类对数据的描述和类提 供给外界来处理数据的界面这两件事情相互独立, 这就给出了面向对象的重要特性,使得一个类的 用户唯一需要做的事情就是访问类的接口界面。
2014-2-23 面向对象程序设计 23
2.4访问权限控制
但是不允许程序其他部分直接访问。 即不允许 对象名.私有数据成员名 date1.day=6; date1.month=12; date1.year=2001; cout<<date1.day; (3)protected指定的保护部分是半透明的,它可由 本类成员函数或它的派生类成员函数直接访问, 但不允许程序其他部分直接访问它。
2014-2-23 面向对象程序设计 54
Set(设置)和Get(获取)函数
要读取某私有数据,可以提供 一个get函数; 要修改某私有数据,可以提供 一个set函数.
2014-2-23
面向对象程序设计
56
4.2访问函数和工具函数
访问函数的两种功能:
读取和设置数据; 测试条件的真假(判定函数(predicate function));
2014-2-23 面向对象程序设计 39
3.2.3默认参数
2014-2-23
面向对象程序设计
40
3.4如何组织关于类的程序
2014-2-23
面向对象程序设计
41
接口与实现的分离
保持程序良好的可维护性:只要类 的接口不变,类实现方法的改变不 会影响到用户. 类定义放在头文件中,成员函数的 实现放在源文件中.在使用类的每 个文件中包含头文件(#include)。
定义一个苹果类Apple,定义一个盒子类Box,每 个盒子能够容纳10个苹果; 定义一个Student类,其属性有:name, number, gender, grade;类似定义一个Teacher类;在此 基础之上定义一个Class类,并且表示:每个班级 包括30个学生和10个任课教师。
2014-2-23 面向对象程序设计 33
49
3.5.1不同对象形态的定义
2014-2-23
面向对象程序设计
50
3.5.2通过类名访问
2014-2-23
面向对象程序设计
51
4访问函数
2014-2-23
面向对象程序设计
52
4.1再论访问权限
1).类的默认访问权限是private,因此类的首 部和第一个标号之间的所有成员的类型都 是private,直到遇到下一个标号或者类定义 的右花括号.
类 体
16
2014-2-23
面向对象程序设计
17
类定义的若干说明
1).class:类定义的关键字; 2).类名和成员函数名; 3).类头和类体; 4).访问[access]权限控制符; 5).必须以;结束类定义.
2014-2-23 面向对象程序设计 18
2014-2-23
面向对象程序设计
类和对象的定义
真正的面向对象之旅开始!
2014-2-23
面向对象程序设计
1
基本内容
1).面向对象概述 2).类定义的语法 3).数据成员和成员函数 4).访问函数与工具函数
2014-2-23
面向对象程序设计
2
1、面向对象的基本概念
2014-2-23
面向对象程序设计
3
1.1面向对象语言
Simula:第一次提出对象的概念 Smalltalk:第一个真正意义上的面向对象语言 Eiffel(Interactive Software Inc.) C++(Bell) Java(Sun) RAD(Rapid Application Development)----所见即 所得(What you see is what you get) Visual Basic, Delphi
2014-2-23 面向对象程序设计 15
2.2类定义的语法
class <类名> 类头 { private: <数据成员或者成员函数的说明和定义> public: <数据成员或者成员函数的说明和定义> protected: <数据成员或者成员函数的说明和定义> };
2014-2-23 面向对象程序设计
2014-2-23 面向对象程序设计 4
1.2面向对象方法
面向对象是观察世界和编写程序的 自然方式.
模拟现实世界的事物及其关系 组织管理大规模的程序
2014-2-23
面向对象程序设计
5
1.3类与对象属性 Nhomakorabea具体 抽象
具体
2014-2-23
具体的事物
1,2…个苹果
可数
对象
计数
方法
计算
描述事物的模型
面向对象程序设计
46
例2:类的实现—Date.cpp
2014-2-23
面向对象程序设计
47
例2:类的驱动—main.cpp
2014-2-23
面向对象程序设计
48
3.5对成员的两种访问方式
1、通过对象句柄访问[注意访问权限] 2、通过类名访问[静态成员;定义成员函数]
2014-2-23
面向对象程序设计
1.6.3多态性
在继承共性的同时保留特性。 同一消息引发不同的响应(“+”)。 功能接口相同,但是具体实现不同。
2014-2-23
面向对象程序设计
13
2、类及其定义语法
2014-2-23
面向对象程序设计
14
2.1用类实现抽象数据类型
类(class)使程序员可以构造对象 (object, 或者实例instance)的属性 (attribute)和行为(behavior或操作 operation).前者抽象为数据成员 (data member),而后者抽象为成员 函数 (member function).
2014-2-23 面向对象程序设计 27
访问权限示例
2014-2-23
面向对象程序设计
28
访问权限示例
同时说明类的应用:定义对象及传递消息
2014-2-23
面向对象程序设计
29
3、数据成员和成员函数
2014-2-23
面向对象程序设计
30
3.1数据成员(data member)
1.数据类型:可以是基本数据类型、复 合数据类型或者自定义类型。 2.没有给数据成员分配空间,因此不允 许进行初始化.[强调] 3.不能用存储类来限定,除static外。
19
2014-2-23
面向对象程序设计
20
2.3由类生成对象
不能直接应用类;类是抽象的 通过对象来体现类的功能;对象是具体的
2014-2-23
面向对象程序设计
21
2.4访问权限控制
public 公有 任何客户代码都可访问
private
私有 只能被本类的成员函数及 友元访问
protected 保护 只能被本类的成员函数、 派生类成员函数及友元访 问
2014-2-23 面向对象程序设计 42
例1:Clock.h—类的定义
2014-2-23
面向对象程序设计
43
例1:Clock.cpp—类的实现
2014-2-23
面向对象程序设计
44
例1:Clock.cpp—类的驱动
2014-2-23
面向对象程序设计
45
例2:类的定义—Date.h
2014-2-23
整数
类[型]
int
由模型生成对象
1,2,3…
面向对象程序设计
对象
[int] x;
6
1.4消息及其传递
对象之间的联系和交互
简单的:成员函数调用 复杂的:同一消息引发不同响应
2014-2-23
面向对象程序设计
7
1.5数据抽象
duck
color; type; size of webbed feet swim(); quack(); fly();
2014-2-23 面向对象程序设计 22
2.4访问权限控制
(1)public指定的公有部分是透明的,它的数据成 员和成员函数是开放的,既可以由本类的成员函 数直接访问,也可由程序的其他部分直接访问。 如:对象名.公有成员名 (2)private指定的私有部分像一个黑盒子,它只能 由本类的成员函数直接访问,即在成员函数体内 直呼其名地写出私有成员名。例如, void SetDate(int y,int m,int d) {year = y; month = m; day = d;}