面向对象概念

抽象与封装是面向对象程序设计的两个重要概念。类将数据以及对数据的操作封装在一个抽象数据类型中,为属于该类的所有对象提供了同意的抽象描述。

理解抽象与封装的概念,掌握JAVA中的类与对象的应用,能够运用面向对象思想进行类的设计,正确设计类中的成员方法和成员变量,是我们学习的目标。



面向对象是一种新型的程序设计方法,或者说是一种心的程序设计规范,其基本思想是实用对象、类、继承、封装、消息等基本概念来进行程序设计。从显示世界中客观存在的事务(即对象)出发来构造软件系统,并且在系统构建中尽可能运行人类的自然思维方式。

面向对象的设计方法用对象描述事物,而每个具体的对象又可以用两个特征来描述:描述事物静态属性所需的数据结构以及对这些数据进行的有限操作。也就是说,把数据结构和对数据的操作放在一起构成一个整体,才能完整地反应实际问题。数据结构和对数据的操作实际上是相互以来不可分割的整体。

面向对象程序设计具有抽象、封装、集成和多态4个特点。抽象去掉了被研究对象中与主旨无关的次要部分,而仅仅抽取出与研究工作有关的实质性的内容加以考虑。抽象有两类:一类是过程抽象,另一类是数据抽象。

面向对象程序设计强调数据抽象,数据抽象把系统总需要处理的数据和这些数据上的操作结合在一起,根据功能、性质、作用等因素抽象成不同的抽象数据类型。每个抽象数据类型既包含数据,又包含针对这些数据的操作,是相对于过程抽象更为严格的抽象方法。



封装

封装就是利用抽象数据类型把数据和基于数据的操作封装在一起,数据被保护在抽象数据类型的内部,系统的其他部分只有通过数据的操作,才能够于这个抽象数据类型进行交互,封装包含两层含义。

第一,把对象的全部属性及其行为结合在一起,形成一个不可分割的独立单位(即对象)。

第二,信息隐蔽,即尽可能隐蔽对象的内部细节,对外形成一个边界(或者说形成一道屏障),只保留有限的对外接口,使之与外部发生联系。

封装的原则在软件上的反应是:对象以外的部分不能随意存取对象的内部数据(属性),从而有效地避免了外部错误对他的“交叉感染”,使软件错误能够局部化,大大减少查错和排错难度。

在面向对象的程序设计中,抽象数据类型是用“类”这种面向对象工具表示的,每个类里都防撞了相关的数据和操作。封装性降低了程序开发过程的复杂性,提高了效率和质量,保证了数据的完整性和安全性。同时,封装性提高了抽象数据类型的可重用性,使抽象数据类型称为一个结构完整、能够自行管理的有机整体。





把众多的事物归纳、划分成一些类,是人类在认识客观世界时经常采用的思维方法。分类的原则是抽象。类是一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位行为。类的实例化结果就是对象,而对一类对象的抽象就是类。

类的定义

类是JAVA的核心和本质,想要在JAVA程序中实现的每个概念,都必须封装自爱类中。类是具有共同属性和行为的对象的抽象,属性描述了对象的状态,以数据的形式存在,在JAVA面向对象程序设计中又贝称为变量。行为描述了对数据进行的操作,可引起对象状态的改变。在JAVA面向对象程序设计中贝称为方法。

JAVA中类的实现包括两个部分:类头和类体。类头定义的格式如下:

[类定义修饰符] class <类名> [extends <父类名>] [implements <接口列表>]

类的定义主要包括关键词 class 和类名。类名是JAVA语言合法的标识符,类名一般具有一定的含义。其中,CLASS为定义类的关键字,extends是用于继承的关键字,implements是用于实现接口的关键字,有关类的修饰符后面将详细阐述。

类体是类的主体部分,它包含了所有实现类功能的JAVA语言程序代码,包括成员变量和成员方法。JAVA类除了继承它的父类中的变量和方法外,一般仍会在类体中明确定义自己的变量和方法。程序中,变量说明应放在定义之前。类体要用{}括起来。类体的格式如下:

class <类名>{

[变量修饰符] <变量内省> <变量名>

[方法修饰符] <方法返回值类型> <方法名>([<参数列表>]){

方法体

}

}



其中,变量名是JAVA语言中的合法标识符,变量的类型可以是JAVA给定的任意数据类型或者用户自定义类。用于说明变量和方法的访问权限等属性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值