新员工培训_面向对象基本概念ppt培训课件

上传人:bin****86 文档编号:54178937 上传时间:2018-09-09 格式:PPT 页数:29 大小:341KB
返回 下载 相关 举报
新员工培训_面向对象基本概念ppt培训课件_第1页
第1页 / 共29页
新员工培训_面向对象基本概念ppt培训课件_第2页
第2页 / 共29页
新员工培训_面向对象基本概念ppt培训课件_第3页
第3页 / 共29页
新员工培训_面向对象基本概念ppt培训课件_第4页
第4页 / 共29页
新员工培训_面向对象基本概念ppt培训课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《新员工培训_面向对象基本概念ppt培训课件》由会员分享,可在线阅读,更多相关《新员工培训_面向对象基本概念ppt培训课件(29页珍藏版)》请在金锄头文库上搜索。

1、面向对象基本概念,总体设计部 石宏峰,面向对象概述,开篇语,复杂性是软件系统本质的一部分。没有什么抽象处理能够消除软件系统的复杂性,然而,能够生成一种机制来管理这些复杂性。并且,有些困难不是“偶然的”,是软件建造的方法所引起的。改变建造软件的方式将改善这些所谓“偶然的”困难。,造成软件复杂性的主因,软件开发工作的现状: 软件越来越庞大,各软件组件之间的互联很复杂 软件开发由个人的创造性活动转变为有组织的团队活动,交流协调工作加剧,传统的结构化分析设计和模块化编程导致系统低内聚、高耦合,使系统不灵活也不易维护,造成软件的复杂性的真正原因: 软件的大小不能决定软件复杂程度 高度耦合、低内聚才是造成

2、软件复杂性的主要原因,面向对象(Object-Orientation),面向对象的概念最初是在上个世纪60年代后期由使用SIMULA语言的研究人员提出 真正的面向对象程序设计是在Smalltalk语言中实现的,“面向对象”这个词也是Smalltalk首先提出的 面向对象方法学认为: 客观世界由各种“对象”所组成,任何事物都是对象 每一个对象都有自己的运动规律和内部状态 不同对象的组合及相互作用就构成了我们要研究、分析和构造的客观系统,OO方法与结构化方法差异(1),结构化方法:将一个系统化分为两部分:数据(使用数据模型建模)和功能(使用过程模型建模)。导致数据与设计模型和系统实现(即程序)中的

3、行为分离。 OO方法:将系统定义为一组正在交互的对象。对象可以完成一些事情(功能),也知道一些事情(数据)。,OO方法与结构化方法差异(2),面向对象的软件系统构造,面向对象方法,很多程序员将面向对象编程(OOP)技术和面向对象(OO)技术混淆 面向对象不仅是一种技术,面向对象技术是一门博大精深的学问,它是一种方法论或者说是一种世界观 人们对面向对象方法的研究与运用,不再局限于编程阶段,而是从系统分析和系统设计阶段就开始采用面向对象方法 面向对象方法已经发展成一种完整的方法论和系统化的思想体系 面向对象不仅适用于软件设计开发,也适用于解决硬件、组织结构、商业模型等多种领域的问题,“练器”与“练

4、气”,会使用面向对象的编程工具并不等于就掌握了面向对象的思想和方法 程序设计语言仅仅提供一个方法学的表示,而真正的方法是从生活、工作、学习等中提升而来的,这个也真是程序设计语言所做不到的 有人即使选择了面向对象的利器,也无法成为真正的高手。因为他看重的是“器”的好坏,忽略的是“气”的修炼 掌握面向对象的思想如同获得练气的真谛,它的重要性往往胜过了对编程语言的选择 练器虽易,但难成高手。练气虽好,但见效缓慢。内外兼修,终成正果,面向对象基本概念,总述,对象 类 实例 类的基本关系(继承、关联、聚合) 接口 封装 多态性,对象(Object),对象指的是一个独立的、异步的、并发的实体,它能“理解一

5、些事情”(即存储数据)、“做一些工作”(即提供服务),并“与其它对象协同”(通过交换消息) 对象是对问题域中某个实体(任何有明确边界和意义的东西包括具体的物理实体和人为的概念)的抽象 软件系统中的对象 对象是一个接收和发送消息的黑盒子 对象包含编码(CODE)和数据(DATA) CODE是一段有序的计算机指令,决定对象的行为 DATA是指令要操作的信息,即对象的内容 CODE与DATA在对象内部是分离的 对象是数据结构及其上的操作的封装体,类(Class),相似对象(具有相同属性和行为)的一种分类 是一张制造对象的蓝图,对象通过类来定义。,属性(Attribute):类知道的事情;一些数据或信

6、息(内容) 方法(Method):类完成的事情;一个操作或成员函数(行为),有参数和返回值,实例(Instance),实例:按照类“样板”建立的具体对象,就是实例。实例是一个具体的对象(“对象”这个术语有泛指的含义) 实例化:创建对象的过程,类、实例与对象的联系与区别,类是一个模板、蓝图 实例和对象都是根据类模板创造出来的 实例指的是一个具体的实例 对象是泛指实例,并不指出是哪个具体的实例,类关系继承(1) (inheritance),继承:表示两个类之间是“is a”、“is like ”或“is kind of”的关系 子类(subclass):如果类B继承自类A,B就是A的子类 父类(s

7、uperclass):如果类B继承自类A, A 就是B的父类,属性继承、方法继承,类关系继承(2),单继承(single inheritance):一个类仅从另外一个类中继承 多重继承(multiple inheritance):一个类从另外的一个以上的类中继承 覆盖(override):在子类中重新定义属性和方法 抽象类(abstract class):不能实例化的类,类关系 关联(1) (association),基数A,基数B,标签,关联:一个类知道(knows)另一个类,类关系 关联(2),双向关联:两个类互相知道,递归关联:一个类中的对象之间存在关联关系,多关联:两个类之间存在关多种

8、联关系,类关系 聚合 (aggregation),聚合:是一种特殊的关联。表示两个类之间是is part of 的关联。,组合(composition):是一种强聚合。表示“整体”与各“组成部分”共存。,接口(1) (interface),接口好比一种模板,这种模板定义了对象必须实现的方法,其目的就是让这些方法可以作为接口实例被引用。接口不能被实例化 一个对象仅能通过其接口才会被其它对象所了解 类可以实现多个接口并且通过这些实现的接口被索引 接口是一个对象在对其它的对象进行调用时所知道的方法集合 对象的接口描绘了对象能够完成的工作 接口是实现插件化(pluggability)的关键,接口(2)

9、,Interface,Class,接口是对类的轮廓的抽象 接口不变类被使用方式不变 将实现抛开(在没有具体实现的情况下,就确定如何使用类),留下扩展空间,封装和信息隐藏 (encapsulation & information hiding),封装 将操作和数据变量同放于一个类(或对象)中,并使对数据的访问只可通过该类(或对象)本身的操作来进行,外部不能直接作用于该类(或对象)的数据,类(或对象)的通讯只能通过明确的消息来进行 封装是把类或对象的边框涂黑的做法。目的是为了做信息隐藏 信息隐藏:将对象私有信息隐藏,使之不能被外部类直接引用。 隐藏对象知道什么和能做什么的实现方法,即隐藏对象是如何

10、工作的 目的就是限制外部对属性和内部方法的访问。,面向对象编程的一条基本原则 对象的使用者永远不需要去看对象(黑盒子)的内部,多态性 (polymorphism),一个对象能够有多种形式,其他的对象能够与这个对象相互作用而不必知道它具有的确切形式,Figrue:抽象类“图形” draw():画图方法 Circle、Square、Retangle继承Figrue,并重置(或实现)draw() 方法。 Figure.draw() 的输出?,面向对象方法总结,区别于传统的结构化方法。传统的软件观点:主动的应用程序操作被动的数据结构;OO的软件观点:相互影响的对象集合 将现实世界中的实体看成是一个个对

11、象,分析对象之间存在着的联系;把这些映射到系统模型中,建立一个基于相互作用的对象的系统模型 使用面向对象技术开发出来的软件结构是建立在现实世界的实体或对象的基础上的,它把软件的功能分散到各个对象中间 建立在客观系统的事物和抽象概念基础上的对象实现了从问题域到解题域直接映射 。使得分析设计过程更加直观自然 分布式处理:每个对象将功能和状态封装于自身的内部结构中,同时对象的工作也是自治的,不受时间、地点影响,因而使系统在运算处理上具有分布性 高度的重用性:对象、方法等可重复利用 功能的共享性:通过对象的继承机制使系统的处理能力得到充分发挥,面向对象方法的意义,面向对象的方法在技术和管理两个层面均提供了决定软件质量的诸多要素,包括可复用性、可靠性、健壮性、可扩展性、分布性和可存储性等 面向对象直接导致软件系统的强内聚和松耦合,使软件系统易于维护、最大程度避免软件修改时所面临的重重困难 OO软件开发将变得很像机械工程。对象,螺丝、螺母,电子元件、芯片 例行公事般交付一个大型的面向对象软件系统,并节约开发成本 OO就是实现从分析到实现的更加自然的过渡,OO设计更容易理解,推导过程合理严密,减少了人为因素,对于个人:OO是一种全新的思考方式 对于机构:OO将彻底改变机构内的系统开发文化,谢谢!,Q&A,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号