面向对象编程思想-alex_第1页
面向对象编程思想-alex_第2页
面向对象编程思想-alex_第3页
面向对象编程思想-alex_第4页
面向对象编程思想-alex_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象编程思想简介Alex2018093012021一.初识面向对象二.面向对象的出现背景三.面向对象编程的论述2.面向对象程序设计的类和对象1.面向对象编程与面向过程编程的区别3.面向对象编程的特点22021一.面向对象的初步认识和理解

从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。

从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。32021一.面向对象的初步认识和理解

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

起初,“面向对象”是专指在程序设计中采用封装、继承、多态和抽象等设计方法。可是,这个定义显然不能再适合情况。面向对象的思想已经涉及到软件开发的各个方面。如,面向对象的分析(OOA,ObjectOrientedAnalysis),面向对象的设计(OOD,ObjectOrientedDesign)、以及我们经常说的面向对象的编程实现(OOP,ObjectOrientedProgramming)。

42021二.面向对象的出现背景1.软件重用性差

重用性是指同一事物不经修改或稍加修改就可多次重复使用的性质。软件重用性是软件工程追求的目标之一。2.软件可维护性差

软件工程强调软件的可维护性,强调文档资料的重要性,规定最终的软件产品应该由完整、一致的配置成分组成。在软件开发过程中,始终强调软件的可读性、可修改性和可测试性是软件的重要的质量指标。实践证明,用传统方法(面向过程)开发出来的软件,维护时其费用和成本仍然很高,其原因是可修改性差,维护困难,导致可维护性差。

52021二.面向对象的出现背景

3.不能满足用户需要

用传统的结构化方法((面向过程))开发大型软件系统涉及各种不同领域的知识,在开发需求模糊或需求动态变化的系统时,所开发出的软件系统往往不能真正满足用户的需要。

用结构化方法开发的软件,其稳定性、可修改性和可重用性都比较差,这是因为结构化方法的本质是功能分解,从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,这样一层一层的分解下去,直到仅剩下若干个容易实现的子处理功能为止,然后用相应的工具来描述各个最低层的处理。因此,结构化方法是围绕实现处理功能的“过程”来构造系统的。然而,用户需求的变化大部分是针对功能的,因此,这种变化对于基于过程的设计来说是灾难性的。用这种方法设计出来的系统结构常常是不稳定的,用户需求的变化往往造成系统结构的较大变化,从而需要花费很大代价才能实现这种变化。62021三.面向对象编程论述

简单来说,面向对象编程(ObjectOrientedProgramming,简称OOP)描述的是对象之间的相互作用。谈到面向对象,我们不得不提到面向过程。下面我们主要我们从如下三点来论述:

1.面向过程和面向对象的区别

2.类和对象

3.面向对象的优点

720211.面向对象编程与面向过程编程的区别

何谓面向过程的程序设计?

面向过程就是分析出解决问题所需要的步骤,然后用函数逐步调用就可以一步一步实现,即面向过程化程序设计是先确定算法,再确定数据结构,如图1所示:图1结构化程序820211.面向对象编程与面向过程编程的区别

何谓面向对象的程序设计

面向对象程序设计是面向问题中的各种独立个体,程序的分析设计过程就是将程序分解成不同对象之间的交互的过程。将数据(成员数据)及处理这些数据的相应函数(成员函数)封装到一个类(Class)中,而使用类的数据变量则称为对象(Object),如图2所示:图2类与对象920211.面向对象编程与面向过程编程的区别

为了更好的理解面向对象编程思想,我们可以举个生活中的例子:如何把衣服放入衣柜?面向过程:

为了把衣服装进衣柜,需要3个过程。

(1).把衣柜打开(得到打开的衣柜)

(2).把衣服放进去(打开门后,得到里面存放衣服的衣柜)

(3).把衣柜门关上(打开门、存好衣服、获得关好门的衣柜)每个过程有一个阶段性的目标,依次完成这些过程,就能把衣服存进衣柜。1020211.面向对象编程与面向过程编程的区别面向对象:为了把衣服存入衣柜,需要做三个动作(或者叫行为)。每个动作有一个执行者,它就是对象。1)衣柜,你给我把门打开2)衣柜,你给我把衣服装进去(或者说,衣服,你给我钻到衣柜里去)3)衣柜,你给我把门关上依次做这些动作,就能把衣服存入衣柜。衣柜.开门()衣柜.存入(衣服)衣柜.关门()1120212.面向对象程序设计的类和对象对象对象就是一组变量和相关方法的集合,一个对象有状态、行为等,其中变量表明对象的状态,方法表明对象所具有的行为类类是一组具有相同数据结构和相同操作的对象集合类是组成Java的基本要素,它封装了一类对象的状态和方法122021对象、实体与类之间的关系类是具有相似属性和行为的一组具有实例(对象)的抽象集合。组成类的对象均为此类的实例,类与实例的关系可以看成是抽象与具体的关系2.面向对象程序设计的类和对象132021如何定义一个类(Java)publicclassMyDate{privateintday,month,year;publicMyDate(intd,intm,inty){this.day=d;this.month=m;this.year=y;}publicintgetDate(){....}}142021对象的生成(Java)对象的生成通过new操作符生成一个对象例如:MyDatemd=newMyDate(2018,9,30);方法的调用: md.getDate();152021如何定义一个类(Python)classMyDate(object): def__init__(self,day,month,year): self.day=day self.month=month self.year=year defgetDate(self,year): print(“今天是:”+self.year+“年”)

162021对象的生成(Python)对象的生成生成一个对象例如:

mydate=MyDate(2018,09,30);方法的调用: mydate.getDate()1720213.面向对象思想的特点(1).可重用性编写可重用模块,比如类(2).可扩展性要求应用软件能够很方便、很容易的进行扩充和修改(3).可管理性采用封装了数据和操作的类作为构建系统的部件,使项目组织更加方便合理182021总结

面向对象编程的主要特点是以对象作为基本的逻辑构件,用类来描述具有相同特征的对象,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论