第3章 抽象、封装和类.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 抽象、封装与类 李莉 1. 面向对象思想 2. 面向对象的优点 3. 抽象与封装 4. Java的类 5. 定义和使用类 6. 域 7. 方法 1. 面向对象思想 面向机器的程序:最早的计算机程序,为特定的硬件系统专门设计的。其运行速度和效率都很高,但是可读性和可移植性很差,随着软件开发规模的扩大,面向机器的程序逐渐被以C为代表的面向过程的程序所取代。 面向过程的程序:模拟问题的解决过程。数据结构、算法是面向过程问题求解的核心组成。面向过程的问题求解可以精确、完备地描述具体的求解过程,但却不足以把一个包含了多个相互关联的过程的复杂系统表述清楚。 面向对象的程序:模拟描述系统本身,包括系统的组成、系统的各种可能状态、系统中可能产生的各种过程与过程引起的系统状态切换。关心所有这些过程的整体,不仅仅是孤立的单个过程。 面向对象的程序设计语言的出发点:直接描述问题域中客观存在的事物(即对象)以及它们之间的关系。 1. 面向对象思想 面向对象的程序设计语言对现实世界的直接模拟体现在: 客观世界是由一些具体的事物构成的,每个事物都具有自己的一组静态特征(属性)和一组动态特征(行为)。例如,一辆汽车有颜色、型号、马力、生产厂家等静态特征,又具有行驶、转弯、停车等动态特征。面向对象的程序设计语言把客观世界的这一事实映射到计算机语言中,把客观世界中的事物抽象成对象(Object),用一组数据描述该对象的静态特征(属性,称为数据成员),用一组方法来刻画该对象的动态特征(行为)。 1. 面向对象思想 客观世界中的事物既具有特殊性又具有共同性,人类在认识客观世界过程中通常根据事物的共同性把相似的事物归结为某些类。例如所有的汽车和某一辆汽车之间的关系就很容易理解这一点。OOPL用类(Class)来表示一组具有相同属性和方法的对象。 1. 面向对象思想 在同一类事物中,每个事物既具有同类的共同性,又具有自己的特殊性。OOPL用父类与子类来描述这一事实:在父类中描述事物的共性,通过父类派生(Derive)子类的机制来体现事物的个性。考虑同类事物中每个事物的特殊性时,可由这个父类派生子类,子类可以继承(Inheritance)父类的共同性又具有自己的特殊性。 1. 面向对象思想 1. 面向对象思想 客观世界中的事物是一个独立的整体,它的许多内部实现细节是外部不关心的。例如,对于一个只负责开车的驾驶员来说,他可能根本不知道他所驾驶的这辆汽车内部用了多少根螺钉或几米导线,以及它们是怎样组装的。OOPL用封装(Encapsulation)机制把对象的属性和方法结合为一个整体,屏蔽了对象的内部细节。 1. 面向对象思想 客观世界中的一个事物可能与其他事物之间存在某种行为上的联系。例如,一辆行驶中的汽车当看到红色信号灯时要刹车停止,OOPL便通过消息连接来表示对象之间的这种动态联系。 1. 面向对象思想 客观世界中较为复杂的事物往往是由其他一些比较简单的事物构成的,例如,一辆自行车是由车架、车轮、把手等构成的,OOPL也提供了描述这种组成关系的功能。 综上,面向对象的编程语言使程序能够比较直接地反映客观世界的本来面目,并且使软件开发人员能够运用人类认识事物所采用的一般思维方法来进行软件开发。 1. 面向对象思想 2. 面向对象的优点 3. 抽象与封装 4. Java的类 5. 在Java中定义和使用类 6. 域 7. 方法 2. 面向对象的优点 对象的数据封装特性解决了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性。 对象的数据封装特性把对象的私有数据和公共数据分离开,保护私有数据的安全性;减少了可能的模块间干扰,降低了程序复杂性。 对象是一个独立的整体,通过自身定义的操作(包括修改自身的状态、向外界发布消息)来管理自己。当对象A欲影响对象B时,对象A需要调用对象B自身的方法,而不是直接去改变对象B。这使得所有修改对象的操作都以对象自身的一部分的形式存在于对象整体之中,维护了对象的完整性,有利于对象的复用、扩充和维护。 2. 面向对象的优点 对象通过一定的接口和相应的消息机制与外界相联系。这个特性和对象的封装性实现了信息的隐藏(隐藏了私有数据和操作细节等)。使用对象时只需要了解其接口提供的功能操作即可,而不必了解对象内部的数据描述和具体的功能实现。 继承是面向对象方法中除封装外的另一个重要特性,通过继承可以很方便地实现应用的扩展和已有代码的重复使用,提高了开发效率。 综上,面向对象程序设计是将数据及数据的操作封装在一起,成为一个不可分割的整体,同时将具有相同特征的对象抽象成为一种新的数据类型——类。通过对象间的消息传递使整个系统运转。通过对象类的继承提供代码重用的有效途径。 1. 面向对象思想 2

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档