分享
 
 
 

Java入门(2) 面向对象的程序设计

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

摘要

通过本章的学习,读者应对“面向对象”的程序设计有一个整体的熟悉,理解一些相关的术语,为学习Java语言编程打下基础。

--------------------------------------------------------------------------------

本章目标:

通过本章的学习,读者应对“面向对象”的程序设计有一个整体的熟悉,理解一些相关的术语,为学习Java语言编程打下基础。

2.1 什么是面向对象的程序设计

最早的程序设计工作,是直接使用机器码进行编程的,要利用计算机完成一件事,就得画上无数个0和1,编程不仅需要知识,还需要足够的耐心。第一代程序员们都是这样完成程序编写的,程序出错时,就不得不在众多的0与1之间寻寻觅觅,真的就象是在找虫子呀(Bug,表示错误)。这样的工作方法不仅需要花费大量的时间,还得付出不菲的金钱,不过这对于当时天价的计算机来说,是微不足道的。

随着计算机应用的不断增多,软件开发任务也与日俱增。这时直接使用机器码来编程已经无法应付需要。这时汇编语言诞生了,它使用一些类似MOV、ADD、SUB等助记符来代替一长串0和1。我们先使用这样的语言写出源程序,再用汇编程序将它们翻译成为机器可以运行的机器码,这样使得软件开发变得更简单一些了。

人类总是“发明工具”、“使用工具”、“完善工具”、“再使用”、“再完善”,循序渐进,不断地向前发展。使用汇编语言提高了软件开发的效率,但人类并未满足,又在汇编语言的基础上发展了更贴近人类语言的高级语言,如BASIC、Fortran、Cobol、C等。

在高级语言出现时,计算机已经逐渐普通,正在以“摩尔定律”高速发展(计算速度越来越快,价钱越来越低),计算机的价格已不再是制约计算机应用的要害因素。人类需要大量的计算机软件来提高计算机的应用水平。而在这个时代,计算机硬件已经进入了有序、产业化的发展,但计算机软件却曾一度陷入失控的状态。如何让计算机软件更加可控制,可治理成为了一个十分重要的课题。

小知识:

在这个时代曾经暴发了一场“软件危机”,许多重要的软件项目都陷入失控的状态,如何使得软件项目胜利的完成,成为整个产业最为头痛的一个问题。曾经有一本闻名的书籍《神秘的人月》将这描写成为:“失控的软件项目就象陷入泥潭的骆驼,越挣扎就陷得越深”。有爱好的读者可以阅读一些相关的书籍。

这一切“创就”了一门新的学科:《软件工程学》,将软件开发工作分成了“系统分析”、“设计”、“编程”、“测试”、“维护”等几个组成部分,一改以往“软件开发就是写程序”的熟悉。原来,软件开发工作就是充分发挥程序员的聪明才智解决问题,正如一句俗话所说的:“不管黑猫白猫,能逮着老鼠就是好猫”,在软件开发中,曾经奉行着一句矢志不渝的真理“只要能够解决问题的程序就是好程序”。这样,写出来的程序别说别人看不懂,有时连自己一段时间后都看不懂自己的程序了。试想,这样如何能够集众人力量共同完成一个软件项目呢,如何能够对一个软件项目提供有效的维护呢?

通过了一段时间的摸索后,就形成了一套大家都很熟悉的面向过程的“结构化”软件方法学,包括结构化设计、结构化编程等软件开发方法学。假如大家在阅读这本书之前,有一些程序设计的经验的话,对这个应该还是有一些了解的。为了能够让大家理解“结构化”编程与我们在这里要说明的“面向对象”的程序设计的区别,在此我就用“伪代码”写一段程序(在本例中,我主要是用于讲解语法,而不考虑本程序是否有现实作用)。

伪代码:

伪代码,是指不能够直接编译运行的程序代码,它是用于语法结构讲解的一个工具,它比真正的程序代码更简明,更贴近自然语言。

源程序:一个“结构化”程序示例:

铅笔数=5

钢笔数=6

圆珠笔数=4

其它笔数=7

……

// 销售程序段

铅笔数=铅笔数-1 // 卖出了1支铅笔

其它笔数=其它笔数-2 // 卖出了2支其它笔

// 采购程序段

钢笔数=钢笔数+20 // 新进了20支钢笔

圆珠笔数=圆珠笔数+10 // 新进了10支圆珠笔

……

正如上面的程序段所示,在结构化的程序我们通常是:

1) 定义变量及其初始值;

2) 根据事件发展顺序,进行相对应的处理。

在上面的程序中,我们先定义了各种笔的初始总数,然后这些数量会在销售、采购时改变。这种程序的编写思路是随着事件,按照一定的过程来进行的。这种方法是一种“解题”的思维方式,把所有的需求,当作一个“应用题”一样来“解答”。

可以看出,从机器语言、汇编语言到高级语言,程序设计越来越贴近人类的语言,但是它们又都有一个通病,就是它们都需要程序使用机器的思路,而不是人的思路,为什么这么说呢?那么人的思路是什么呢??

人类熟悉世界的思路总是针对一个个具体的客观事物来熟悉,包括它的外形、大小等属性,以及行为、功能、动作等。就象一说到猫,就马上知道它是4只脚的、“喵喵”叫的,而且猫的行为动作大家也很熟悉,比如,我们说“猫抓老鼠”,大家应该马上就会在脑海中出现一个相应的图象吧。

这时,人们忽然发现,假如编写程序也采用这样的思维的话,那么将使得程序更加清楚,写起程序来也会变得更加简单了。软件工程学家便开始了坚持不懈的研究,终于创建了“面向对象”方法学,这一方法学的出现,使得软件工程又向前迈了一大步了。“面向对象”方法学其实包括:“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”……,而在本章中则主要探讨“面向对象的程序设计”。

一些提示:

熟悉Visaul Basic的读者,您应该记得在使用VB开发程序时,大家将一个个控件拖到界面上,然后修改它们的属性,使它们符合程序的需要,接着在这个控件的相应事件中填入代码。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有