JAVA面向对象总结

面向对象概述

      面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越程序设计和软件开发,如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术和人工智能等领域。

  起初,面向对象专指在程序设计中采用封装、抽象和多态等设计方法。可是这个定义显然不能再和合现有的情况。面向对象的思想已经涉及到软件开发的各个方面,例如00A(Object Oriented Analysis,面向对象的分析)、OOD(Object Oriented Design面向对象的设计)、OOP(Object Oriented Programming面向对象的编程)。

面向对象的基本概念

  (1)对象:是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看做对象,它不仅能表示具体事物,还能表示抽象的规则、计划或事件。

  (2)对象的状态和行为:对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。

  (3)类:具有相同或相似性质的对象的抽象就是类。对象 的抽象是类,类的具体化就是对象,也可以说类的实例是对象。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

  (4)类的结构:在客观世界中在若干类,类之间有一定的结构关系。通常有两种主要的结构关系,即“一般-具体”结构关系和“整体-部分”结构关系。“一般-具体结构称为分类或者称为”is a“关系;"整体-部分”结构称为组装结构或者称为“has a"关系。

  (5)消息和方法:对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去所选某种操作的信息。发送一条消息至少要包括说明接收消息的对象名和发送给对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名(这里我理解是类的静态属性)。

面向对象的特征:

  (1)抽象:表示一个对象与其他所有对象区别的基本特征,为不同的观察者提供不同的角度来观察对象。也可以将抽象定义为:从许多事物中舍弃个别的、非本质的特征,抽取共同的、本质性的特征。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

  (2)封装:是一种信息隐蔽技术,是一个划分抽象的结构和行为的过程。封装和抽象是互补的,抽象着重于对象的行为,而封装着重于对象行为的实现。抽象实现抽取众多对象的公共特征和行为,而封装则是在不同的抽象之间设置明显的分隔线,从而导致每一个观察者关注内容的明显分离。没有抽象的封装没有意义,没有封装的抽象是不完整的。

  (3)继承:一个类共享一个或多个类中定义的结构和行为,表示的是一种泛化/特化的层次关系。它是类和类之间的关系之一,是面向对象系统的最基本要素。在现实中有很多这样的实例,例如人类是一种哺乳动物,因为人类具备哺乳动物的特征,也就是说,人类继承了哺乳动物的特点。

  (4)多态:是指相同的操作、函数或过程可作用于多种类型的对象,并获得不同的结果。不同的对象收到同一消息可以产不同的结果,这种现象称为多态性。多态性允许每个对象以适合自身的方式去响应共同的消息,它增强了软件的灵活性和重用性。

上一篇:Java并发之(1):volatile关键字(TIJ21-21.3.3 21.3.4)


下一篇:Rational rose下载,安装,破解