问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

8.1.1什么是面向对象的程序设计.ppt

发布网友 发布时间:2022-05-01 02:33

我来回答

1个回答

热心网友 时间:2022-04-22 10:35

面向对象
面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。可是,这个定义显然不能再适合现在情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,Object Oriented Analysis),面向对象的设计(OOD,Object Oriented Design)、以及我们经常说的面向对象的编程实现(OOP,Object Oriented Programming)。许多有关面向对象的文章都只是讲述在面向对象的开发中所需要注意的问题或所采用的比较好的设计方法。看这些文章只有真正懂得什么是对象,什么是面向对象,才能最大程度地对自己有所裨益。这一点,恐怕对初学者甚至是从事相关工作多年的人员也会对它们的概念模糊不清。
面向对象是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
一、传统开发方法存在问题
1.软件重用性差
重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。
2.软件可维护性差
软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。
3.开发出的软件不能满足用户需要
用传统的结构化方法开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。
用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层的分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的 ,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。
二、面向对象的基本概念
(1)对象。
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
(2)对象的状态和行为。
对象具有状态,一个对象用数据值来描述它的状态。
对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中
(3)类。
具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。
(4)类的结构。
在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。
①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。
(5)消息和方法。
对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。
类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。消息传递如图10-1所示。
二、面向对象的特征
(1)对象唯一性。
每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
(2)分类性。
分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
(3)继承性。
继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。
(4)多态性(多形性)
多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
多态性允许每个对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。

对象,强调物体属性, 比如实现逻辑 物体A 移动到B点,
对象思想就是要你想象 你吧A 看成什么 你可以吧它看成车, 用车轮的方式(方法)让它走动, 可以看成托运(方法)的方式拉过去。
面向对象的方法 是一类物体的属性 所具备的 行为,理论上 可以参照面向过程的函数去理解
儿面向过程, 我不关心你用什么方式,看成什么 ,管你是推,是拽,只要你运过来就行 相对而言 没有针对性
楼主可以 设想一下网络游戏, 你玩的游戏 的怪物, 是分种类的, 他们都是自动的东西, 没人去手动生成, 一类怪物 有一类招数和样子, 行为属性, 这就是对象思想
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中医能辅助治疗腹水吗 飞行堡垒7零度左右电池显示0%一直正在充电充不进电怎么解决?_百度... ...手机就关机了。一直充也充不进电。为什么呢 富士s205可以用银燕 BY—30stz 的闪光灯么? 富士S205EXR相机适合什么样型号的外置闪光灯 请教高人,富士s205拍微距,能配环闪吗,什么型号,怎么配。谢谢。 逛超市不愿意提东西的男人,还要吗? 男子每天逛超市,一分没花还倒赚3万,经理:难怪监控查不出来,你怎么... 中国g5大学什么意思 求解,上海电信全屋WiFi性价比高不高 求教大神ps4可以用dp接口的显示器玩吗 PS4插电脑显示器上能玩吗 为什么晚上总做梦,睡两个小时就会醒? 晚上老是睡不好觉,做梦,一晚上醒好几次? 联想l12323swa显示器能玩ps4pro不? 我的显示器能不能玩ps4? 电脑显示器只有VGA接口到底能不能玩ps4啊? 晚上睡觉经常做梦容易醒怎么办? 商业保险能取出来吗我买的三十年商保买完过后能取完钱吗 请问投保爱满分21这个保险,30年后能拿多少钱? 深圳市人才大市场学历认证中心上班时间 到哪里查询正规的做学历认证的机构? 数字化时代是如何改变时间和空间的 影视究竟是艺术还是文学 时间隧道 时间和空间融为一体是什么样子 乾坤二挂如何体现阴阳之变 <新月> 沙欧 这首诗表达了作者( )的思想感情,是用( )的表现手法表达的。 在时空中,空间和时间各有什么作用? 求一篇 影视文学方面的论文 如何caffe-android-lib-master 不懂结构化思维,怎么混职场 杏杏仁怎样吃无毒? 杏杏仁怎样吃无毒 凯特杏杏仁能吃吗? 杏子没熟的话,能不能吃? 杏仁的做法 如何对杏进行采收加工? 杏仁杏仁。。 凯特杏杏仁是甜的还是苦的 对方要求我打他,打了有什么后果 与人发生争执被对方挑衅叫我打他试试怎么办? 别人叫嚣着要我打他,这种要求可以满足他吗?要不要承担法律责任? 别人让我打他我打了犯法吗 如果一个男生很想让你打他这是为什么? 男朋友经常让我打他,他不怕疼吗? 别人叫我打他我打了后犯法吗 别人想让我打他,我该怎么办啊?我实在忍不了,大家帮我 如果一个人让你打他(有录音),随后你打了他的情况下,对方需要赔偿的话我还需要担责嘛? 对方拿锤子让我打他