- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA程序设计教程ZXM0909第3章
3.1 面向对象程序设计基础3.1.1 结构化程序设计 20世纪60年代提出了结构化程序设计(SP,Structed Programming)方法。所谓结构化程序设计,是一种自上而下、逐步细化的模块化程序设计方法。当解决一个复杂问题时,首先将总的求解任务划分为若干子任务,然后可以为每个子任务设计一个子程序。若子任务仍较复杂,可以将子任务继续分解。完成不同任务的程序在程序代码编制上相互独立,而在数据的处理上又相互联系。 对于解决一个简单问题的程序,Wirth N提出一个公式:算法?+?数据结构?=?程序,即编制程序就是定义数据和设计算法。定义数据就是选择合适的数据结构,设计算法就是根据所选择的数据结构编写解决问题的过程。结构化程序设计中,数据和过程是分离的,过程是对数据的操作。 结构化程序设计是一种面向过程的程序设计(POP,Procedure Oriented Programming)方法,即一个程序是由多个可独立编程的过程(在Java中为方法)模块组成的,过程之间通过函数参数和全局变量进行相互联系。 结构化程序设计按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数或过程的集合。从历史上看,与以前的非结构化程序相比,结构化程序在调试、可读性和可维护性等方面都有很大的改进,当时确实很大地促进了软件的发展。但是,以过程为中心构造系统并编写程序,每一次设计新的系统,除了一些接口简单的标准函数,大部分代码都必须重新编写,不能实现代码的直接重用。 结构化程序设计将系统分解为若干功能模块,由于软、硬件技术的不断发展和用户需求的变化,按照功能划分设计的系统模块的功能要求容易发生变化,使得开发出来的模块的可维护性欠佳。并且,面向过程模式将数据与过程分离,若对某一数据结构作了修改,为了保证与数据的一致性,所有处理数据的过程都必须重新修订,这样就增加了编程的工作量,同时也加大了出错的概率。特别是随着问题规模的变大,编写的程序代码长度急剧增大,大大降低了程序的可维护性。 3.1.2 面向对象程序设计方法及特征 结构化程序设计从本质上说是面向“过程”或“操作”的,而“过程”和“操作”又是不稳定和变化的,不能直接反映求解问题的思路,很可能产生问题空间与方法空间在结构上的不一致。这种模式存在固有缺陷,不可能从根本上解决软件危机。 为了克服面向过程模式在设计系统软件和大型应用软件时所存在的缺陷,面向对象模式应运而生。面向对象程序设计是软件工程理论中结构化程序设计、数据抽象、信息隐藏、知识表示及并行处理等各种理论的积累与发展。在20世纪80年代,面向对象程序设计就已有了雏形。至20世纪末,由于Windows系统的广泛使用,软件开发工具也都支持面向对象程序设计,使面向对象程序设计技术进入了黄金时代。 现实世界是由各种各样的事物组成的,包括真实的事物和抽象的事物。例如,人、动物、植物、工厂、汽车和计算机等都是真实的事物,而思想、控制系统、程序、直线、文档和数据库等都是抽象的事物。每一类事物都有自己特定的属性(如大小、形状、重量等)和行为(如生长、行走、转弯、运算等),人们通过研究事物的属性和行为来认识事物。在计算机科学研究中,将这些现实世界中的事物称为对象(Object)。对象是包含现实世界中事物特征的抽象实体,它反映了系统为之保存信息和与之交互的方法。在程序设计领域,可以用如下公式表示对象:对象?=?数据?+?作用于这些数据上的操作。 为了描述属性和行为相同的一类对象,引入了类(class)的概念。类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,并规定了这些对象的公共属性和行为方法。对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。对象和类的关系相当于程序设计语言中变量和变量类型的关系。 面向对象程序设计围绕现实世界的概念来组织模块,采用对象来描述问题空间的实体,用程序代码模拟现实世界中真实或抽象的对象,使程序设计过程更自然、更直观。结构化程序设计是以功能为中心来描述系统的,而面向对象程序设计是以数据为中心而不是以功能为中心来描述系统的,相对于功能而言,数据具有更强的稳定性。 面向对象程序设计还模拟了对象之间的通信。就像人们之间互通信息一样,对象之间也可以通过消息进行通信。这样,人们不必知道一个对象是怎样实现其行为的,只需通过对象提供的接口进行通信并使用对象所具有的行为功能,就像人们可在不知道汽车发动机如何工作的情况下,仍然可以很好地驾驶汽车。 面向对象程序设计把一个复杂的问题分解成多个能够完成独立功能的对象(类),然后把这些对象组合起来去完成这个复杂的问题。一个对象可由多个更小的对象组成,如汽车由发动机、传送系统和排气系统
您可能关注的文档
- Internet网路应用实务 37p.ppt
- Introduction of TESCO Own-label Vegetable--TESCO自有品牌蔬菜简介.ppt
- Introduction to Computing 计算概论.ppt
- Introduction to College English主讲教师_张家瑞.ppt
- introduction to six sigma 課件.ppt
- investment_-1课堂.ppt
- In_The_Earthquakes_的证.pptx
- IP001项目管理与软件项目管理.pptx
- IP102-07软件项目进度计划.ppt
- IP104-13软件项目集成计划.pptx
文档评论(0)