1.2 面向对象的基本概念
VBNET程序设计实用教程1

GYC
1.2 面向对象程序设计的基本概念
1.2.3 方法与事件 (1)
方法是对象具有的功能,事件是对象能够响应的 外界刺激。方法与事件是类的成份,它们共同决定了 类产生的对象的行为特征。实际上方法就是封装在类 里面特定的过程,这些过程的代码,一般用户很难看 到,这就是类的“封装性”。方法由方法名来标识, 标准控件的方法名一般也是系统规定好了的。在 中,所说的控件其实就是一种类,一般每个 类都具有一系列的标准方法,如Form类具有Show、 Hide、Close等方法。
GYC
1.3 任务1-1:第一个 Windows应用程 序——简单的数学计算器 任务1-1描述 编写一个简单的数学计算器程序,程序的运行界面 如图1-1所示。程序运行时,在第一个个文本框和第二 个文本框中输入两个数,然后单击相应的计算按钮(+、 -、×、÷),将在前两个文本框之间显示出运算符号, 在第三个文本框中显示结果。单击“退出”按钮将结束 程序的运行。
GYC
注意:并不向下兼容,VB
1.2 面向对象程序设计的基本概念
1.2.1 类与对象
类可以看成是对象的类型,它定义了对象 的特征和行为规则。对象是通过类产生的一 个实例,类和对象都由唯一的名字进行标识, 分别是类名和对象名。类是抽象的,而对象 是具体的。如机器零件的构造图可以看成一 个类,而根据该构造图创建的一个个机器零 件就可以看成是一个个具体的对象。由一个 类产生的多个对象基本上都具有同样的特征 和性能。
GYC
1.2 面向对象程序设计的基本概念
1.2.3 方法与事件 (2)
事件可看作是对对象的一种操作。如在程序运行中, 对某个对象用鼠标单击一次,就触发了该对象的一次 “单击(Click)”事件。事件由事件名标识,控件的 事件名也是系统规定好的。在学习过程中, 也要注意记住事件名、事件的含义及其发生场合。在 中,事件一般都是由用户通过输入手段或者 是系统某些特定的行为产生的。输入手段如:鼠标器在 某对象上单击一次,触发 Click事件。系统的特定行为 如:定时器的时间间隔到,会发生定时器对象的Tick 事件。
面向对象的概念

1.面向对象的概念面向对象(Object-Oriented)=对象(Object)+类(Class)+ 继承(Inheritance)+通信(Communication)如果一个软件系统是使用这样4个概念设计和实现的,则将该软件系统称为面向对象的。
下面给出每个概念的具体定义。
1.1 对象从一般意义上讲,对象是现实世界中一个实际存在事物,它可以是有形的(比如一辆汽车),也可以是无形(比如一项计划)。
对象构成世界的一个独立单位,它具有自己的静态特征和动态特征。
静态特征即可用某种数据来描述的特征,动态特征即对象所表现的行为或对象所具有的功能。
现实世界中的任何事物都可以称作对象,它是大量的、无处不在的。
不过,人们在开发一个系统时,通常只是在一定的范围(问题域)内考虑和认识与系统目标有关的事物,并用系统中的对象抽象地表示它们。
所以面向对象方法在提到“对象”这个术语时,既可能泛指现实世界中的某些事物,也可能专指它们在系统中的抽象表示,即系统中的对象。
我们主要对后一种情况讨论对象的概念,其定义是:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
一个对象由一组属性和对这组属性进行操作的一组服务构成。
属性和服务,是构成对象的两个主要因素,其定义是:属性是用来描述对象静态特征的一个数据项。
服务是用来描述对象动态特征(行为)的一个操作序列。
一个对象可以有多项属性和多项服务。
一个对象的属性和服务被结合成一个整体,对象的属性值只能由这个对象的服务存取。
在有些文献中把对象标识(OID)列为对象的另一要素。
对象标识也就是对象的名字,有“外部标识”和“内部标识”之分。
前者供对象的定义者或使用者用,后者为系统内部惟一的识别对象。
(怎么感觉这点跟android开发里面的id是一样的,在某个文件下有编程人员定义的所有属性的id,并且是唯一的,一般不允许更改,属于系统内部分配。
) 另外需要说明以下两点:第一点是,对象只描述客观事物本质的与系统目标有关的特征,而不考虑那些非本质的与系统目标无关的特征。
第四章_面向对象技术

4. 具有良好的可重用性
由于对象所具有的封装性和信息隐蔽,具有很强的 独立性。
4.1.2 面向对象的概念
理解面向对象的基本概念对于学习和掌握面向 对象的开发方法是十分重要的。 对象(Object)
类(Class)
继承(Inheritance) 消息(Information) 多态性(Polymorphism) 永久对象(Persistent object)
4.3 面向对象的分析
面向对象分析OOA(Object-Oriented Analysis)的 目标是完成对所求解问题的分析,确定系统“作什 么”,并建立系统的模型。 基本概念: 问题域(problem domain) — 被开发系统的应用领域。 系统责任(system responsibilities) — 所开发的系统应 具备的职能。 OOA的基本任务 运用面向对象的方法,对问题域和系统责任进行 分析和理解,找出描述它们的类和对象,定义其属 性和操作,及其结构、静态联系和动态联系。
4.3.1 OOA的分析过程
获取用户基本需求 标识类和对象
定义类的结构和层次 表示类(对象)间的关系
为对象行为建模
图4.7 OOA分析过程
4.3.2 OOA模型
基本模型 (类图)
交 对象层 主
互 特征层
图 关系层 详 细 说 明 图4.8 OOA模型与详细说明 基本模型是一个类图(class diagram), 是以直观的方式表达系统最重要的 信息。OOA基本模型的三个层次分 别描述了:系统中应设哪几类对象, 每类对象的内部构成,对象与外部 的关系。
4.4.1 OOD基本任务
1. 系统设计 将分析模型划分为若干子系统,子系统应该具有 良好的接口,子系统内的类相互协作。标识问题本身 的并发性,为子系统分配处理器。
面向对象

面向对象面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。
面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
定义首先根据客户需求抽象出业务对象;然后对需求进行合理分层,构建相对独立的业务模块;之后设计业务逻辑,利用多态、继承、封装、抽象的编程思想,实现业务需求;最后通过整合各模块,达到高内聚、低耦合的效果,从而满足客户要求。
在Java中,面向对象可以看成面向抽象和面向接口编程。
浅谈面向对象谈到面向对象,这方面的文章非常多。
但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。
起初,“面向对象”是专指在程序设计中采用封装、继承、多态等设计方法。
可是,这个定义显然不能再适合现在情况。
面向对象的思想已经涉及到软件开发的各个方面。
如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。
许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。
看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。
这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象的分解根据抽象关键的问题域来分解系统。
面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。
一、传统开发方法存在问题1.软件重用性差重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。
软件重用性是软件工程追求的目标之一。
01 第一章 面向对象概述

1.1面向对象基本概念
2 对象——具有属性 属性刻画了对象的静态特征
车型名称 厂商 级别
十代思域220turbo 东风本田 紧凑型车
能源类型
汽油
环保标准
国V
上市时间
最大功率 (kW)
最大扭矩 (N·m)
发动机
2016.04 130 220
1.5T 177马力 L4
1.3面向对象与项目设计
1 使用面向对象方法分析项目需求
面向对象的分析过程
用户 开发者
一般需求
管理者 用户知识
问题域建模
专业领域知识
现实世界经验
问题域陈述
对象模型 动态模型
功能模型
1.3面向对象与项目设计
1 使用面向对象方法分析项目需求
面向对象分析的一般过程
获取需求内容陈述
建立系统的对象模型结构 建立对象的动态模型
类的例子
信息工程系的 帧一一同学
学生类
经贸管理系的 贾三三同学
尝试抽象——试将下列图标分类
不同角度,分类结果不一定 根 据 问 题 需 要 进 行 分 类
1.1面向对象基本概念
3 类——与对象的关系
• 每一个对象都是某一 个类的实例
• 每一个类在某一时刻 有零个或更多的实例
• 类是静态的:其语义 和关系在执行前就已 经定义好了
1.4面向对象思想与软件工程模型
1 瀑布模型
瀑布模型将软件生 命周期划分为软件 计划、需求分析和 定义、软件设计、 软件实现、软件测 试、软件运行和维 护这6个阶段,并 且规定了它们自上 而下的次序,如同 瀑布一样下落。每 一个阶段完成才进 行下一阶段。
软件建模技术

Jacobson (雅各布森)
现代语言学家
OMT方法
Booch方法
OOSE方法
UML
第
2章
UML概述
2.2 UML的构成
2.2.1 概述 2.2.2 UML的基本语言要素
2.2.3 UML的语义规则
2.2.4 UML的公共机制
2.2.1 UML构成概述
作为建模语言,UML由以下几部分构成: ●基本语言组成: 语言的构成成分,包括: 要素,关系,图 ●语义规则: 语言的语法和语义规则 ●公共机制: 规范说明,语言扩展等
UML的构成
2.2.2 UML基本 语言要素
要素
结构: (共7种) 行为: (消息, 状态) 分组: (包) 注释: (注释) 依赖 关联 泛化 实现 类图, 对象图, 用例图, 顺序图, 协作图, 状态图, 活动图, 构件 图, 部署图
基本语言构成 命名 范围 可见性 完整性 执行
关系
图
语义 规则
通用机制
规范说明 修饰 通用划分 扩展机制(版型, 标记值,约束)
2.2.3 UML的基本语义规则
1)命名 规定对要素、关系、图命名。 例如:Student 为一个类的名字 2)范围 给一个名字特定含义的语境。 例如:属性name:string 3)可视性 规定外界对该名字识别和使用的范围。 三种:public:公共 + protected:保护 # private:私用 -
教学 教师 学生
2 泛化 泛化: 在UML中,描述事物之间的一般 和特殊关系。特殊事物具有并继承一般事物 的特性。 表示:一条带空心三角形箭头的实箭线
特殊 一般
例子:
超类 家具
子类
沙发
VF 第六章、表单

6
7 8 9
ControlBox
MaxButton MinButton
决定是否有控制图标和控制按钮
决定表单是否具有最大化按钮 决定表单是否具有最小化按钮
WindowType 决定表单是无模式表单还是模式表单,如果表单是模式 表单,用户在访问应用程序其他单元前,必须关闭这个 表单
6.2
案例1
创建表单
序号 1 属性
Value
说明
默认情况下,命令按钮组中的各个按钮被自动赋予了一 个编号,如1,2,3,等,当运行表单时,一旦用户单 击某个按钮,则Value将保存该按钮的编号,于是在程序 中通过检测Value的值,就可以为相应的按钮编写特定的 程序代码。如果在设计时,给Value赋予一个字符型数据, 当运行表单时,一旦用户单击某个按钮,则Value将保存 该按钮的Caption属性值 命令按钮组包含按钮的个数 用于存取命令按钮组中每个命令按钮的数组,代码中可 以通过该数组访问命令按钮组中的各个按钮.
6.2
创建表单
表单属性窗口中可以 设置表单及其控件的各个 属性。
6.2
创建表单
表单常用的属性
序号 1 属性 Caption 说 决定表单标题栏显示的文本 明
2
3 4 5
Name
AutoCenter BackColor Closable
表单的名称
决定表单初始化时是否居中 决定表单背景颜色 决定能否通过双击窗口菜单图标来关闭表单
6.1
面向对象的基本概念
• 面向对象设计的原则
–封装
–继承 –多态
看不到我体内有什么器官吧?!
我和我父亲像吧?!
但也有不同吧?!
6.1
面向对象的基本概念
python面向对象程序设计简答题

Python面向对象程序设计简答题一、面向对象程序设计的基本概念1.1 什么是面向对象程序设计?面向对象程序设计(Object-Oriented Programming,简称OOP)是一种编程范式,它将现实世界中的实体抽象为对象,对象之间通过消息传递进行交互,从而实现程序的功能。
1.2 面向对象程序设计的特点有哪些?面向对象程序设计的特点包括封装、继承、多态等。
其中,封装可以隐藏对象的内部状态,继承可以实现代码的复用,多态可以实现不同对象对同一消息作出不同的响应。
1.3 什么是类和对象?类是面向对象程序设计中的重要概念,它是对具有相似属性和行为的对象的抽象,用来描述对象的共同特征。
对象是类的一个实例,是具体的、有实际意义的实体。
二、Python中的面向对象程序设计2.1 Python中如何定义类?在Python中,可以使用关键字class来定义类。
类的定义包括类名、类的属性和方法。
类的属性是对象的特征,而类的方法是对象的行为。
2.2 Python中如何创建对象?在Python中,可以使用类名加括号的方式来创建对象。
如果有一个叫做Student的类,可以使用student = Student()来创建一个Student类的对象。
2.3 Python中如何定义类的属性和方法?在Python中,可以使用类的构造函数__init__方法来定义类的属性,使用def关键字来定义类的方法。
在方法的定义中,第一个参数通常是self,表示对象本身。
2.4 Python中如何实现继承?Python中可以使用子类继承父类的方式来实现继承。
在子类的定义中,使用class SubClass(BaseClass)的方式来指定父类,从而实现子类对父类的继承。
2.5 Python中如何实现多态?在Python中,可以通过函数的重写和多重继承的方式来实现多态。
当子类重写父类的方法时,可以实现不同对象对同一消息作出不同的响应,从而实现多态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2 面向对象的基本概念本节着重介绍面向对象的基本概念,也对相应的面向对象的技术方法做些说明和解释。
面向对象方法学的基本原则面向对象方法学认为:客观世界是由各种“对象”所组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,每一个对象都属于某个对象“类”,都是该对象类的一个元素。
复杂的对象可以是由相对比较简单的各种对象以某种方式组成的。
不同对象的相互作用就构成了我们要研究分析和构造的客观系统。
面向对象方法学认为:通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的根据。
面向对象方法学认为:对于已分成类的各个对象,可以通过定义一组“方法”来说明该对象的功能,也即是:允许作用于该对象上的各种操作。
对象间的相互联系是通过传递“消息”来完成的。
面向对象方法学比较自然地模拟了人类认识客观世界的方法。
即应使描述问题的问题空间和解决问题的方法空间在结构上尽可能地一致。
我们分析设计和实现一个系统的方法尽可能接近我们认识一个系统的方法。
1.2.1 对象、类、消息面向对象技术是基于对象(object )概念的。
下面介绍对象概念。
在现代汉语词典中,对象是行动或思考时作为目标的人或事物。
在思维科学中,对象是客观世界中具有可区分性的、能够唯一标识的逻辑单元。
对象所代表的本体可能是一个物理存在,也可能是一个概念存在。
“面向对象”是计算机科学中的一个技术名词,具有其特定的技术含义。
从面向对象的观点来看,现实世界是由各式各样独立的、异步的、并发的实体对象组成,每个对象都有各自的内部状态和运动规律,不同对象之间或某类对象之间的相互联系和作用,就构成了各式不同的系统。
面向对象方法是基于客观世界的对象模型化的软件开发方法。
在面向对象程序设计中,所谓对象,就是一个属性(数据)集及其操作(行为)的封装体。
作为计算机模拟真实世界的抽象,一个对象就是一个实际问题论域,一个物理的实体或逻辑的实体。
在计算机程序中,可视为一个“基本程序模块”,因为它包含了数据结构和所提供的相关操作功能。
我们把客观世界的实体称之为问题空间的对象,任何事物都是对象。
我们用计算机解题是借助某种语言规定对计算机实体施加某种动作,以此动作的结果去映射解,我们把计算机实体称之解空间的对象。
在面向对象的程序设计中,“对象”是系统中的基本运行实体。
即对象是具有特殊属性(数据)和行为方式(方法)的实体。
从动态的观点看,对象的操作就是对象的行为。
问题空间对象的行为是极其丰富的,而解空间对象的行为是极其死板的。
因此,只有借助于极其复杂的算法才能操纵解空间对象而得到解。
面向对象语言提供了“对象”概念,这样,程序员就可以定义解空间对象。
从存储的角度来看,“对象”是一片私有存储,其中有数据也有方法。
其它对象的方法不能直接操纵该对象的私有数据,只有对象私有的方法才可以操纵它。
从对象的实现来看,“对象”是一台自动机,其中私有数据表示了对象的状态,该状态只能由私有的方法改变它。
每当需要改变对象的状态时,只能由其它对象向该对象发送消息,对象响应消息后按照消息模式找出匹配的方法,并执行该方法。
对象的属性是指描述对象的数据,可以是系统或用户定义的数据类型,也可以是一个抽象的数据类型,对象属性值的集合称为对象的状态(state)。
对象的行为是定义在对象属性上的一组操作方法(method)的集合。
方法是响应消息而完成的算法,表示对象内部实现的细节,对象的方法集合体现了对象的行为能力。
对象的属性和行为是对象定义的组成要素,有人把它们统称为对象的特性。
一般具有以下特征:(1)具有一个状态,由与相关联的属性值集合所表征。
(2)具有唯一标识名,可以区别于其他对象。
(3)有一组操作方法,每个操作决定对象的一种行为。
(4)对象的状态只能被自身的行为所改变。
(5)对象的操作包括自操作(施于自身)和它操作(施于其他对象)(6)对象之间以消息传递的方式进行通信。
(7)一个对象的成员仍可以是一个对象。
其中,前3 条是对象的基本特征,后4条是属于特征的进一步定义说明。
有的书上又这样写:对象的特征1、模块性:一个对象是一个可以独立存在的实体。
从外部看这个模块,只了解这个模块具有哪些功能,模块的内部状态以及如何实现这些功能的细节都是“隐蔽”在模快的内部的。
2、继承性和类比性:人们是通过对客观世界中的各种对象进行分类及合并等方法来认识世界的,每个具体的对象都是在它所属的某一类对象(类)的层次结构中占据一定的位置。
下一层次的对象继承了上一层次对象的某些属性。
另一方面,不同的对象具有某些相同的属性时,也常常把它们归并成一类。
3、动态连接性:我们把对象和对象间所具有的统一、方便、动态地连接和传递消息的能力与机制称之为动态连接性。
4、易维护性在面向对象系统中,人们的注意力集中于具有相同特性的一类对象,抽象出这样一类对象共同的结构和行为,进行一般描述,从而避免数据的冗余。
“物以类聚”,分类、类比、类型、同类,等等,是人们归纳客观事物的方法。
下面介绍类的概念和作用。
类(class)是对象的抽象及描述,是具有共同属性和操作的多个对象的相似特性的统一描述体。
类也是对象,是一种集合对象,称之为对象类(object class),简称为类,以有别于基本的实例对象(object instance)。
在类的描述中,每个类要有一个名字,要表示一组对象的共同特征,还必须给出一个生成对象实例的具体方法。
类中的每个对象都是该类的对象实例,即系统运行时通过类定义属性初始化可以生成该类的对象实例。
实例对象是描述数据结构,每个对象都保存其自己的内部状态,一个类的各个实例对象都能理解该所属类发来的消息。
类提供了完整的解决特定问题的能力,因为类描述了数据结构(对象属性)、算法(方法)和外部接口(消息协议)。
类由方法和数据组成,它是关于对象性质的描述,包括外部特性和内部实现两个方面。
类通过描述消息模式及其相应的处理能力来定义对象的外部特性,通过描述内部状态的表现形式及固有处理能力的实现来定义对象的内部实现。
一个类实际上定义的是一种对象类型,它描述了属于该类型的所有对象的性质。
对象是在执行过程中由其所属的类动态生成的,一个类可以生成多个不同的对象。
同一个类的对象具有相同的性质。
一个对象的内部状态只能由其自身来修改。
因此,同一个类的对象虽然在内部状态的表现形式上相同,但可有不同的内部状态。
从理论上讲,类是一个抽象数据类型的实现。
一个类的上层可以有超类,下层可以有子类,形成一种类层次结构。
这种层次结构的一个重要特点是继承性,一个类继承其超类的全部描述。
这种继承具有传递性。
所以,一个类实际上继承了层次结构中在其上面的所有类的全部描述。
因此,属于某个类的对象除具有该类所描述的特性外,还具有层次结构中该类上面所有类描述的全部特性。
抽象类是一种不能建立实例的类。
抽象类将有关的类组织在一起,提供一个公共的根,其它的子类从这个根派生出来。
抽象类刻画了公共行为的特性并将着些特征传给它的子类。
通常一个抽象类只描述与这个类有关的操作接口,或是这些操作的部分实现,完整的实现被留给一个或几个子类。
抽象类已为一个特定的选择器集合定义了方法,并且有些方法服从某种语义,所以,抽象类的用途是用来定义一些协议或概念。
综上所述,类是一组对象的抽象,它将该种对象所具有的共同特征集中起来,由该种对象所共享。
在系统构成上,则形成了一个具有特定功能的模块和一种代码共享的手段。
在一个有效率的面向对象系统中,是没有完全孤立的对象的,对象的相互作用的模式是采用消息传送来进行的。
消息(message)是面向对象系统中实现对象间的通信和请求任务的操作。
消息传递是系统构成的基本元素,是程序运行的基本处理活动。
一个对象所能接受的消息及其所带的参数,构成该对象的外部接口。
对象接受它能识别的消息,并按照自己的方式来解释和执行。
一个对象可以同时向多个对象发送消息,也可以接受多个对象发来的消息。
消息只反映发送者的请求,由于消息的识别、解释取决于接受者,因而同样的消息在不同对象中可解释成不同的行为。
对象间传送的消息一般由三部分组成,即接受对象名、调用操作名和必要的参数。
在C++中,一个对象的可能消息集是在对象的类描述中说明,每个消息在类描述中由一个相应的方法给出,即使用函数定义操作。
向对象发送一个消息,就是引用一个方法的过程。
实施对象的各种操作,就是访问一个或多个在类对象中定义的方法。
消息协议是一个对象对外提供服务的规定格式说明,外界对象能够并且只能向该对象发送协议中所提供的消息,请求该对象服务。
在具体实现上,是将消息分为公有消息和私有消息,而协议则是一个对象所能接受的所有公有消息的集合。
前面讲过,对象间的相互联系是通过传递消息来实现的。
消息用来请求对象执行某一处理或回答某些信息的要求,消息统一了数据流和控制流,程序的执行是靠在对象间传递消息来完成的。
发送消息的对象称为发送者,接受消息的对象称为接受者。
消息中只包含发送者的要求,消息完全由接受者解释,接受者独立决定采用什么方式完成所需的处理。
一个对象能接受不同形式不同内容的多个消息,相同形式的消息可以送往不同的对象,不同的对象对于形式相同的消息可以有不同的解释,能够做出不同的反映。
对于传来的消息,对象可以返回响应的回答信息,但这种返回并不是必修的。
消息的形式用消息模式刻画,一个消息模式定义了一类消息,它可以对应内容不同的消息。
对于同一消息模式的不同消息,同一个对象所做的解释和处理都是相同的,只是处理的结果可能不同。
对象固有处理能力按消息分类,一个消息模式定义对象的一种处理能力。
所以,只要给出对象的所有消息模式及相应于每一个模式的处理能力,也就定义了一个对象的外部特征。
消息模式不仅定义了对象所能受理的消息,而且还定义了对象的固有处理能力。
2、方法把所有对象分成各种对象类,每个对象类都定义一组所谓的“方法”,它们实际上可视为允许作用于各对象上的各种操作。
1.2.2 封装性、继承性和多态性在上述面向对象的基本概念的基础上,将就所有面向对象程序设计都具有的3个共同特性进行分析说明,使我们对面向对象的概念和原理能够有进一步的认识和理解。
封装是一种信息隐蔽技术,用户只能见到对象封装界面上的信息,对象内部对用户是隐蔽的。
封装的目的在于将对象的使用者和对象的设计者分开,使用者不必知道行为实现的细节,只需用设计者提供的消息来访问该对象。
封装性(encapsulation)是面向对象具有的一个基本特性,其目的是有效地实现信息隐藏原则。
这是软件设计模块化、软件复用和软件维护的一个基础。
封装是一种机制,它将某些代码和数据链接起来,形成一个自包含的黑盒子(即产生一个对象)。
一般地讲,封装的定义为:(1)一个清晰的边界,所有的对象的内部软件的范围被限定在这个边界内。