分享
 
 
 

学习Tutorial心得(3_1)_Object-Oriented Programming Concepts

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

缘起

看过几本讲java的书,感觉并不是太好,入门的书籍个人感觉Thinking in java 和 java in nutshell 还可以,再有就是sun公司提供的tutorial,出学java 时看过一些,感觉还不错。但由于自身太过浮躁,也没看多少就再没看了。现在感觉基础的知识和语法还是相当重要,所以又决心从头仔细看一遍,“从头收拾旧山河”。也许会浪费很多时间和精力,但是如果不这样,在以后就会浪费的更多。因此,尽管现在项目很忙,每天晚上我还是会抽时间看一些,写一些,并贴到csdn上,以便和大家交流一下。(Tutorial 可以从sun公司的网站上免费下载)。

Learning the Java Language

Object-Oriented Programming Concepts

目标:对象为何物,类又为何物

对象和类之间的联系

对象之间如何通过消息沟通

1.对象为何物(What Is an Object)

一个对象是相关的变量和方法的集合。软件中的对象通常都是对我们现实生活中物体的模拟。

软件是什么?设计软件的目的是什么?宽泛的说是对现实世界的反映和修正。自然,设计软件首先要对现实世界有相当的了解,然后将其抽象、设计、实现,完成软件的功能。在其中如何看待现实世界,如何将现实世界和程序代码相对应,是一个关键问题。在这个问题的解决上,人们积累了很多经验,也提出了很多思想,面向对象则是其中重要的一支。面向对象即是将现实世界的任何东西都看成是一个一个的对象,甚至是抽象的概念也被看成为对象(例如事件)。将什么看成对象,对象间如何联系,如何构建对象的继承体系则是需要经验的积累,才可体会到个中三味。(我也在体会ing)

面向对象既然将万事万物都看成对象,在程序中自然有一个特殊的结构体与之对应,那就是正如日中天的 类 。一个对象的属性和行为通过类的属性和方法来体现。JDK Tutorial中将对象定义为变量(属性)和与之相关方法(方法)的集合。我个人觉得这个定义有点过于抽象了。

Tutorial中bicycle的例子很不错,值得仔细品味。从中可以看出如何将现实的对象——bicycle对应为程序中的类,如何抽出属性,和方法,哪些方法是不应有的,一个小小的bicycle也许不难,但换成一个庞大的系统,各个对象相互关联,就不容易抽象出类了。至于类中该有哪些属性和方法那就更困难了。另外这个例子也说明了什么是实例方法(instance method)。而那张图则很好的说明了面向对象的一大特征:数据封装。它带来了两个好处:

(1) 模块化,也告诉了我们在设计类时要减少类和类之间的耦合性,以方便类的重用和移植。

(2) 信息隐藏,随之带来的就是接口的讨论。这个问题已经有很多人讨论过了,我也准备写一篇文章说说的我的心得,在此略过不谈。

2.消息为何物(What Is a Message)

软件中的对象是通过消息彼此交流和相互作用的。

一个单独的对象是没有意义的,一个对象的意义体现在与其他对象的相互作用中,其实我有何尝不是这大千世界中的一个小小的对象呢?我的意义体现在给他人和社会所带来的价值,评定自己的不是我,而是使用我的对象。有点可悲,不过庆幸的是大家都是这样。:)那么一个对象如何与其他对象沟通呢?通过对象之间相互发送消息来告知对方你需要对方的哪些功能。不难看出一个消息应该而且只应由下面三个因素构成:

(1) 接收消息的对象,也就是动作的执行者。

(2) 接收到的消息的名称,也就是要执行的动作。

(3) 执行动作需要的必要条件。

对象之间通过发送消息来相互作用与人类社会中人们的沟通非常相似,而软件开发的目的就是为了模拟现实世界,了解了这点就少点浮躁吧,没有深厚的生活和社会经历想要分析清一个复杂的系统是很难的,至于设计就别想了。(我现在也正在认真的学习tutorial)。淡泊以明志,宁静以志远。

对于tutorial中提到的消息的两个好处,不是很明白,哪位高手能告知呢?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有