请说说您对面向对象思想的理解

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/25 23:35:13
请说说您对面向对象思想的理解请说说您对面向对象思想的理解请说说您对面向对象思想的理解从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域

请说说您对面向对象思想的理解
请说说您对面向对象思想的理解

请说说您对面向对象思想的理解
从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,认识问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统).这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌.
一、面向对象的基本概念
(1)对象
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件.
(2)对象的状态和行为
对象具有状态,一个对象用数据值来描述它的状态.
对象还有操作,用于改变对象的状态,操作就是对象的行为.
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
(3)类
具有相同或相似性质的对象的抽象就是类.因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象.
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性.
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述.
(4)类的结构
在客观世界中有若干类,这些类之间有一定的结构关系.通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系.
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系.
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系.
(5)消息和方法
对象之间进行通信的结构叫做消息.在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息.发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名).一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名.
类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体.消息传递如图10-1所示.
二、面向对象的特征
(1)对象唯一性
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象.在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识.
(2)分类性
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类.一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容.任何类的划分都是主观的,但必须与具体的应用有关.
(3)继承性
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系.在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容.
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的.
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承.
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承.
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性.
采用继承性,提供了类的规范的等级结构.通过类的继承关系,使公共的特性能够共享,提高了软件的重用性.
(4)多态性(多形性)
多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果.不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性.
多态性允许每个对象以适合自身的方式去响应共同的消息.
多态性增强了软件的灵活性和重用性.