- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章面向对象软件开发概述
Java语言与面向对象程序设计;学 习 方 法;课 程 考 试;第1章 面向对象软件开发概述;1.1 面向对象问题求解的提出
早期计算机中运行的程序大都是为特定的硬件系统专门设计的,称为面向机器的程序。这类程序的运行速度和效率都很高,但是可读性和可移植性很差,随着软件开发规模的扩大,这类面向机器的程序逐渐被以FORTRAN、C等为代表的面向过程的程序所取代。; 面向过程的程序遵循面向过程的问题求解方法。其中心思想是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决过程。
数据结构、算法是面向过程问题求解的核心组成。其中数据结构利用计算机的离散逻辑来量化表达需要解决的问题,而算法则研究如何快捷、高效地组织解决问题的具体过程。
; 面向过程的问题求解可以精确、完备地描述具体的求解过程(这里的过程通常是指操作),但却不足以把一个包含了多个相互关联的过程的复杂系统表述清楚,
而面向对象的问题求解则可以胜任这件工作。面向对象问题求解关心的不仅仅是孤立的单个过程,而是孕育所有这些过程的母体系统,它能够使计算机逻辑来模拟描述系统本身,包括系统的组成,系统的各种可能状态,以及系统中可能产生的各种过程与过程引起的系统状态切换。;1. Simula I,它首次提出模拟人类的思维方法,把数据和相关的操作集成在一起的思想。
2. Smalltalk80
3. 产生了Lisp、Clascal、Object Pascal、C++等多种面向对象的语言,这中间最有影响,也是对面向对象技术的普及推动最大的当属C++。
4. Java是90年代新出现的面向对象的编程语言。;1.2 面向对象问题求解概述
不同于面向过程的程序设计中以具体的解题过程为研究和实现的主体,面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾。; “对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。
对象是具有唯一对象名和固定对外接口的一组属性和操作的集合,用来模拟组成或影响现实世界问题的一个或一组因素。;(1) 对象的数据封装特性彻底消除了传统结构方法中数据与操作分离所带来的种种问题,提高了程序的可复用性和可维护性,降低了程序员保持数据与操作相容的负担。
(2) 对象的数据封装特性还可以把对象的私有数据和公共数据分离开,保护了私有数据,减少了可能的模块间干扰,达到降低程序复杂性、提高可控性的目的。;(3) 对象作为独立的整体具有良好的自恰性,即它可以通过自身定义的操作来管理自己。
(4) 在具有自恰性的同时,对象通过一定的接口和相应的消息机制与外界相联系。
(5) 继承是面向对象方法中除封装外的另一个重要特性,通过继承可以很方便地实现应用的扩展和已有代码的重复使用,在保证质量的前提下提高了开发效率。; 面向对象程序设计是将数据及数据的操作封装在一起,成为一个不可分割的整体,同时将具有相同特征的对象抽象成为一种新的数据类型——类。通过对象间的消息传递使整个系统运转。通过对象类的继承提供代码重用的有效途径。
;1.3 对象、类与实体
不同于面向过程的程序设计中以具体的解题过程为研究和实现的主体,面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾。
更确切地,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。 ;类:是同种对象的集合与抽象,是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。 ;
图1.1 对象、实体与类;1.4 对象的属性与相互关系
1.4.1 对象的属性
状态和行为是对象的主要属性。
状态:又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。
行为:对象的操作,表述对象的动态属性,通过行为设置或改变对象状态。
;图1.2 对象的属性;“对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。最主要的特点是以数据为中心,它是一个集成了数据和其上操作的独立、自恰的逻辑单位。;1.4.2 对象的关系
一个复杂的系统必然包括多个对象,这些对象间可能存在的关系有三种:包含、继承和关联。
1. 包含
当对象A是对象B的属性时,称对象B包含对象A。
当一个对象包含另一个对象时,它将在自己的内存空间中为这个被包含对象留出专门的空间,即被包含对象将被保存在包含它的对象内部。;2. 继承
当对象A是对象B的特例时,称对象A继承了对象B。
实际上,这里所说的对象间的继承关系就是后面要详细介绍的类间的继承关系。作为特例的类称为子类,而子类所继承的类称为父类。父类是子类公共关系的集合,子类将在父类定义的公共属性的基础上,根据自己的特殊性特别定义自己的属
您可能关注的文档
- 第一章绪论与图形设备.ppt
- 第一章绪论_演示稿.ppt
- 第一章绪论_1化学在社会发展中的作用和地位.ppt
- 第一章第二节事物的普遍联系和发展[上].ppt
- 第一章绪论母婴儿童青少年护理.ppt
- 第一章管理信息系统的基础.ppt
- 第一章绪论招投标与合同管理.ppt
- 第一章第二节“环境问题概述”课件.ppt
- 第一章绪论和常用半导体器件.ppt
- 第一章管道工程图的基本知识.ppt
- 2025年天津现代职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年天津滨海职业学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年天津滨海职业学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年天津机电职业技术学院单招(数学)历年真题考点含答案解析.docx
- 2025年天津生物工程职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年天津生物工程职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.docx
- 2025年天津电子信息职业技术学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
- 2025年天津电子信息职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.docx
- 2025年天津电子信息职业技术学院单招职业技能测试近5年真题考点含答案解析.docx
- 2025年天津生物工程职业技术学院单招职业适应性测试历年(2019-2024年)真题考点试卷含答案解析.docx
文档评论(0)