摘要:本文主要采用的哲学思想通过对人们认识客观世界的过程及方法的详细说明,深入浅出的介绍了对面向对象的概念及其相关概念。
关键词:面向对象 类 对象
哲学的观点认为现实世界是由各种各样的实体(事物、对象)所组成的,每种对象都有自己的内部状态和运动规律,不同对 象间的相互联系和相互作用就构成了各种不同的系统,并进而构成整个客观世界。同时人们为了更好的认识客观世界,把具有相似内部状态和运动规律的实体(事 物、对象)综合在一起称为类。类是具有相似内部状态和运动规律的实体的抽象,进而人们抽象的认为客观世界是由不同类的事物间相互联系和相互作用所构成的一 个整体。计算机软件的目的就是为了模拟现实世界,使各种不同的现实世界系统在计算机中得以实现,进而为我们工作、学习、生活提供帮助。
图1、客观世界与主观世界
1、面向对象(object-oriented ;简称: OO) 至今还没有统一的概念,我这里把它定义为:按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的 办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
2、对象(object):即指现实世界中各种各样的实体。它可以指具体的事物也可以指抽象的事物。如:整数1、 2、3、流氓陈水扁、苹果、飞机、规则、法律、法规、表单等等。每个对象皆有自己的内部状态和运动规律,如流氓陈水扁具有名字、身高、体重等内部状态,具 有吃饭、睡觉、打人、偷税、漏税等运动规律。在面向对象概念中我们把对象的内部状态称为属性、运动规律成为方法或事件。
3、类(class):类是具有相似内部状态和运动规律的实体的集合(或统称、抽象)。类的概念来自于人们认识自 然、认识社会的过程。在这一程中,人们主要使用两种方法:由特殊到一般的归纳法和由一般到特殊的演绎法。在归纳的过程中,我们从一个个具体的事物中把共同 的特征抽取出来,形成一个一般的概念,这就是"归类";如:昆虫、狮子、爬行动物,因为它们都能动所以归类为动物。在演绎的过程中我们又把同类的事物,根 据不同的特征分成不同的小类,这就是"分类";如动物->猫科动物->猫->大花猫等。对于一个具体的类,它有许多具体的个体,我们就 管这些个体叫做"对象"。类的内部状态是指类集合中对象的共同状态;类的运动规律是指类集合中对象的共同运动规律。如:博拉图对人作如下定义:人是没有毛 能直立行走的动物。在博拉图的定义中"人"是一个类,具有"没有毛、直立行走"等一些区别于其它事物的共同特征;而张三、李四、王五、流氓陈水扁等一个个 具体的人,是"人"这个类的一个个"对象"。
4、消息(Message): 消息是指对象间相互联系和相互作用的方式。一个消息主要由5部分组成:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。
图2消息机制
5、类的特性:类的定义决定了类具有以下5个特性:抽象、继承、封装、重载、多态。
1) 抽象:类的定义中明确指出类是一组具有内部状态和运动规律对象的抽象,抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态 和运动规律),而非具体细节或具体实现。面向对象鼓励我们用抽象的观点来看待现实世界,也就是说,现实世界是一组抽象的对象——类组成的。
2)继承:继承是类不同抽象级别之间的关系。类的定义主要有2种办法归纳和演绎;由一些特殊类归纳出来的一般类称为这些特殊类的父类,特殊类称为一般类的 子类,同样父类可演绎出子类; 父类是子类更高级别的抽象。子类可以继承父类的所有内部状态和运动规律。在计算机软件开发中采用继承性,提供了类的规范的等级结构;通过类的继承关系,使 公共的特性能够共享,提高了软件的重用性。
3)封装:对象间的相互联系和相互作用过程主要通过消息机制得以实现。对象之间并不需要过多的了解 对方内部的具体状态或运动规律。面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部 实现按其具体定义的作用域提供保护。类是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。在类中定义的接收对方消息的方法称为类的接口。
4)多态(覆盖):多态性是指同名的方法可在不同的类中具有不同的运动规律。在父类演绎为子类时,类的运动规律也同样可以演绎,演绎使子类的同名运动规 律或运动形式更具体,甚至子类可以有不同于父类的运动规律或运动形式。不同的子类可以演绎出不同的运动规律。如动物都会吃,而羊和狼吃的方式和内容都不一 样,如图3。
图3:类方法的多态性
5)重载:重载指类的同名方法在给其传递不同的参数是可以有不同的运动规律。在对象间相互作用时,即使接收消息对象 采用相同的接收办法,但消息内容的详细程度不同,接收消息对象内部的运动规律也可能不同。如图4,老板指派采购员买东西,当老板没有指明买什么时,采购员 可能默认买地瓜;如老板指明要采购员买大米,采购员可能到最近的超市买10斤大米;如老板指明采购员今天晚上到福州东街口买5斤大米,那采购员将不得不按 老板指定的时间、地点去购买5斤大米。
图4:方法重载
6、包:哲学认为现实世界中不同对象间的相互联系和相互作用构成了各种不同的系统,不同系统间的相互联系和相互作用构成了更庞大的系统,进而构成了整个世界。在面向对象概念中把这些系统称为包。
7、包的接口类:在系统间相互作用时为了蕴藏系统内部的具体实现,系统通过设立接口界面类或对象来与其他系统进行交互;让其他系统只看到是这个接口界面类或对象,这个类在面向对象中称为接口类。
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
分享到:
相关推荐
面向对象基本概念,面向对象基本概念,面向对象基本概念
第04章 面向对象(上) 01 面向对象基本概念
Python面向对象基本概念PPT课件.ppt
Python面向对象基本概念PPT教案.pptx
面向对象c++的基本概念ppt,面向对象的基础知识,c++学习基础。
面向对象基本概念 面向对象基本概念 我们之前学习的编程方式就是 面向过程 面向过程 的 面相过程 面相过程 和 面相对象 面相对象,是两种不同的 编程方式 编程方式 对比 面向过程 面向过程 的特点,可以更好地了解...
基于传统的开发方法开发出来的软件可复用性,可维护性差的原因,而使得面向对象的方法得到了广泛的应用。要掌握面向对象的开发方法,首先我们要对面向对象的基本概念和基本特征有比较深入的理解。
1. Models help you to visualize a system, as you want it to be. A model helps th
都是关于面向对象的基本概念与特征,很详细的。
该文档描述了一些基本的java和C++中面向对象的基本概念
本文实例讲述了PHP面向对象基本概念。分享给大家供大家参考,具体如下: Demo1.php <?php //怎样去创建一个类 格式:修饰符 class 类名{} //我们去创建一个电脑的类,这类可以创建出对象(生产出电脑) class ...
魏志军老师《设计模式》授课PPT 第一章:面向对象范式-基本概念介紹
详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程...首先阐述了面向对象软件项目的基本概念,然后基于广泛使用的方法,介绍了使用进行以测试为驱动的开发过程,最后研究了现实世界中的开发问题。
在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只...
UML 统一了面向对象建模的基本概念、术语和表示方法,不仅为面向对象的软件开发过程提供了丰富的表达手段,而且也为软件开发人员提供了互相交流、分享经验的共用语言。 本章首先介绍面向对象的主要概念和思想。...
《面向对象分析与设计(第3版)》通过大量例子说明了基本概念,解释了方法,并展示了在不同领域的成功应用。全书分为理论和应用两部分。理论部分深刻剖析了面向对象分析与设计(OOAD)的概念和方法。应用部分连续列出了5...
国外计算机科学经典教材-面向对象分析与设计(UML 2.0版) 简介:本书...首先阐述了面 向对象软件项目的基本概念,然后基于广泛使用的方法,介绍了使用进行以测试 为驱动的开发过程,最后研究了现实世界中的开发问题。
Java面向对象程序设计与系统开发面向对象开发基本概念PPT教案学习.pptx
本书系统地讲述了面向对象技术的相关内容,包括面向对象的基本概念、面向对象开发的流程、面向对象的各种技巧,以及如何应用面向对象思想进行架构设计。在讲述相关知识或技术的时候,除了从“是什么”这个角度进行...