抽象与封装是面向对象程序设计的两个重要概念。类将数据以及对数据的操作封装在一个抽象数据类型中,为属于该类的所有对象提供了同意的抽象描述。
理解抽象与封装的概念,掌握JAVA中的类与对象的应用,能够运用面向对象思想进行类的设计,正确设计类中的成员方法和成员变量,是我们学习的目标。
面向对象是一种新型的程序设计方法,或者说是一种心的程序设计规范,其基本思想是实用对象、类、继承、封装、消息等基本概念来进行程序设计。从显示世界中客观存在的事务(即对象)出发来构造软件系统,并且在系统构建中尽可能运行人类的自然思维方式。
面向对象的设计方法用对象描述事物,而每个具体的对象又可以用两个特征来描述:描述事物静态属性所需的数据结构以及对这些数据进行的有限操作。也就是说,把数据结构和对数据的操作放在一起构成一个整体,才能完整地反应实际问题。数据结构和对数据的操作实际上是相互以来不可分割的整体。
面向对象程序设计具有抽象、封装、集成和多态4个特点。抽象去掉了被研究对象中与主旨无关的次要部分,而仅仅抽取出与研究工作有关的实质性的内容加以考虑。抽象有两类:一类是过程抽象,另一类是数据抽象。
面向对象程序设计强调数据抽象,数据抽象把系统总需要处理的数据和这些数据上的操作结合在一起,根据功能、性质、作用等因素抽象成不同的抽象数据类型。每个抽象数据类型既包含数据,又包含针对这些数据的操作,是相对于过程抽象更为严格的抽象方法。
封装
封装就是利用抽象数据类型把数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过数据的操作,才能够于这个抽象数据类型进行交互,封装包含两层含义。
第一,把对象的全部属性及其行为结合在一起,形成一个不可分割的独立单位(即对象)。
第二,信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口,使之与外部发生联系。
封装的原则在软件上的反应是:对象以外的部分不能随意存取对象的内部数据(属性),从而有效地避免了外部错误对他的“交叉感染”,使软件错误能够局部化,大大减少查错和排错难度。
在面向对象的程序设计中,抽象数据类型是用“类”这种面向对象工具表示的,每个类里都防撞了相关的数据和操作。封装性降低了程序开发过程的复杂性,提高了效率和质量,保证了数据的完整性和安全性。同时,封装性提高了抽象数据类型的可重用性,使抽象数据类型称为一个结构完整、能够自行管理的有机整体。
类
把众多的事物归纳、划分成一些类,是人类在认识客观世界时经常采用的思维方法。分类的原则是抽象。类是一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位行为。类的实例化结果就是对象,而对一类对象的抽象就是类。
类的定义
类是JAVA的核心和本质,想要在JAVA程序中实现的每个概念,都必须封装自爱类中。类是具有共同属性和行为的对象的抽象,属性描述了对象的状态,以数据的形式存在,在JAVA面向对象程序设计中又贝称为变量。行为描述了对数据进行的操作,可引起对象状态的改变。在JAVA面向对象程序设计中贝称为方法。
JAVA中类的实现包括两个部分:类头和类体。类头定义的格式如下:
[类定义修饰符] class <类名> [extends <父类名>] [implements <接口列表>]
类的定义主要包括关键词 class 和类名。类名是JAVA语言合法的标识符,类名一般具有一定的含义。其中,CLASS为定义类的关键字,extends是用于继承的关键字,implements是用于实现接口的关键字,有关类的修饰符后面将详细阐述。
类体是类的主体部分,它包含了所有实现类功能的JAVA语言程序代码,包括成员变量和成员方法。JAVA类除了继承它的父类中的变量和方法外,一般仍会在类体中明确定义自己的变量和方法。程序中,变量说明应放在定义之前。类体要用{}括起来。类体的格式如下:
class <类名>{
[变量修饰符] <变量内省> <变量名>
[方法修饰符] <方法返回值类型> <方法名>([<参数列表>]){
方法体
}
}
其中,变量名是JAVA语言中的合法标识符,变量的类型可以是JAVA给定的任意数据类型或者用户自定义类。用于说明变量和方法的访问权限等属性。
分享到:
相关推荐
在本课程“Windows应用程序开发入门到精通四:Windows窗体开发中的面向对象概念”中,我们将深入探讨如何在Windows应用程序开发中应用面向对象编程(OOP)的思想。面向对象编程是一种强大的软件设计方法,它基于类和...
C++面向对象概念介绍,相当好的东西,值得参考!希望对你有用!
"OO 面向对象概念通俗说明" OO 面向对象概念通俗说明是指使用通俗的举例让大家知道 OO 的概念。OO 是一种编程方式,它使用对象和类来组织和设计程序。OO 的主要特征包括封装、继承和多态。 在 OO 中,对象是指具有...
Python 面向对象概念及练习题 Python 中的面向对象编程是一种编程思想,是对现实世界中的事物进行抽象的方式。在编程设计中,面向对象是一种建立现实世界事物模型的方式。相比面向过程,面向对象更关注的是谁能完成...
抽象数据类型与面向对象概念 本资源摘要信息是关于抽象数据类型和面向对象概念的详细介绍。该资源涵盖了数据结构的基本概念、抽象数据类型、面向对象概念、数据结构的逻辑结构、存储结构、算法定义、模板、性能分析...
下面,我们将根据标题、描述以及相关信息来详细阐述面向对象概念的哲学思考。 ### 面向对象概念的哲学思考 #### 一、引言:面向对象技术的哲学意义 面向对象的概念是计算机科学领域中的一项重要创新,它不仅改变...
下面我们将详细探讨C#中的面向对象概念。 1. 类(Class):类是面向对象编程的基本单元,它是对象的蓝图或模板。在C#中,类定义了一组属性(数据成员)和方法(行为),用于描述具有相同特征和行为的对象集合。例如...
数据结构抽象数据类型及面向对象概念数据结构的抽象层次学习教案 数据结构是计算机科学中最基础的概念之一,它是指数据的组织、存储和处理方式。在本学习教案中,我们将探讨数据结构的抽象层次,包括抽象数据类型、...
python面向对象概念及练习题.pdf
python面向对象概念与练习试题.doc
软件工程第6章-面向对象概念和Rose建模技术.ppt
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...
Java面向对象的概念是Java编程的核心思想,它模拟真实世界中对象和类的模型,以便于构建复杂的软件系统。面向对象编程(Object-Oriented Programming,OOP)的主要目标是提高代码的可重用性、可维护性和灵活性。 1....
数据结构抽象数据类型及面向对象概念数据结构的抽象层次.ppt
Labview面向对象编程是NI(National Instruments)的图形化编程环境Labview中的一种高级编程技巧,它借鉴了传统编程语言中的面向对象概念,如封装、继承和多态性,为Labview开发带来了更高的代码复用性和可维护性。...
国外计算机科学经典教材-面向对象分析与设计(UML 2.0版) 简介:本书详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。 本书使用最常见的技术和方法,通过一个贯穿全书的...