第4章类和对象 H 4,2面向对象程序设计的基本特点 42.1抽象性 抽象是指从具体的实例中抽取出共同的性质并加 以描述的过程。比起面向过程的程序设计,面向对象 程序设计更加强调抽象性。在面向对象方法中,抽象 是通过对一个系统进行分析和认识,强调系统中某些 本质的特性,而对系统进行的简化描述
第4章 类和对象 4.2 面向对象程序设计的基本特点 4.2.1 抽象性 抽象是指从具体的实例中抽取出共同的性质并加 以描述的过程。比起面向过程的程序设计,面向对象 程序设计更加强调抽象性。在面向对象方法中,抽象 是通过对一个系统进行分析和认识,强调系统中某些 本质的特性,而对系统进行的简化描述
第4章类和对象 H 般,对问题的抽象包括两个方面:数据抽象和 行为抽象。数据抽象为程序员提供了对对象的属性和 状态的描述,行为抽象则是对这些数据所需要的操作 的抽象。 抽象的过程是通过模块化来实现的,即通过分析 将一个复杂的系统分解为若干个模块,每个模块是对 整个系统结构的某一部分的一个自包含的和完整的描 述。同时,对模块中的细节部分进行信息隐藏,用户 只能通过一个受保护的接口来访问模块中的数据。这 个接口由一些操作组成,定义了该模块的行为
第4章 类和对象 一般,对问题的抽象包括两个方面:数据抽象和 行为抽象。数据抽象为程序员提供了对对象的属性和 状态的描述,行为抽象则是对这些数据所需要的操作 的抽象。 抽象的过程是通过模块化来实现的,即通过分析 将一个复杂的系统分解为若干个模块,每个模块是对 整个系统结构的某一部分的一个自包含的和完整的描 述。同时,对模块中的细节部分进行信息隐藏,用户 只能通过一个受保护的接口来访问模块中的数据。这 个接口由一些操作组成,定义了该模块的行为
第4章类和对象 H 看一个简单的例子。假设我们需要在计算机上实 现一个绘制圆形的程序。通过对这个图形的分析,可 以看出需要三个数据来描述该圆的位置和大小,即圆 心的横、纵坐标以及圆的半径,这就是对该圆形的数 据抽象。另外,该图形应该具有设置圆心坐标、设置 半径大小、绘制圆形等功能,这就是对它的行为抽象 用C++语言可以将该图形描述如下:
第4章 类和对象 看一个简单的例子。假设我们需要在计算机上实 现一个绘制圆形的程序。通过对这个图形的分析,可 以看出需要三个数据来描述该圆的位置和大小,即圆 心的横、纵坐标以及圆的半径,这就是对该圆形的数 据抽象。另外,该图形应该具有设置圆心坐标、设置 半径大小、绘制圆形等功能,这就是对它的行为抽象。 用C++语言可以将该图形描述如下:
第4章类和对象 H 圆形( circle): 数据抽象: double x, y, r; 行为抽象: setx(); sety(; setr(; draw() 抽象是面向对象方法的核心
第4章 类和对象 圆形 (circle): 数据抽象: double x,y,r; 行为抽象: setx( );sety( );setr( );draw( ); 抽象是面向对象方法的核心
第4章类和对象 H 422封装性 封装是面向对象方法重要的原则。所谓封装,就 是将一个事物包装起来,使外界不了解它的详细内情。 在面向对象方法中,把某些相关的代码和数据结合在 起,形成一个数据和操作的封装体,这个封装体向外提 供一个可以控制的接口,其内部大部分的实现细节则对 外隐藏,从而达到对数据访问权限的合理控制。封装可 以使得程序中各部分之间的相互影响达到最小,并且提 高程序的安全性,简化代码的编写工作
第4章 类和对象 4.2.2 封装性 封装是面向对象方法重要的原则。所谓封装,就 是将一个事物包装起来,使外界不了解它的详细内情。 在面向对象方法中,把某些相关的代码和数据结合在一 起,形成一个数据和操作的封装体,这个封装体向外提 供一个可以控制的接口,其内部大部分的实现细节则对 外隐藏,从而达到对数据访问权限的合理控制。封装可 以使得程序中各部分之间的相互影响达到最小,并且提 高程序的安全性,简化代码的编写工作