免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1959 | 回复: 0
打印 上一主题 下一主题

JAVA [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-09 01:31 |只看该作者 |倒序浏览

最近看thinking in java,问题多多.倒也不是什么大事,关键是里面的关键词太多了,在没搞清楚之前很难弄懂程序是在做什么,郁闷.没看之前觉得,哦,JAVA啊,就是那个说自己100%OOP的那个家伙吗?等现在真要我拿本书看来,我才发现自己以前的愚昧
其实我也是异想天开了,我以前都没做过什么好的项目,只是一介穷书生.硬要说什么有编程经验,无非也就是弄点再简单不过的c,或者在flash中插入几个看起来很牛的代码(希望看了不要笑我就好了).自从接触到flash,就对对象的概念所折服,一直就觉得JAVA有前途,一直向往什么时候自己能写一段java代码.
可能是年轻的心在作祟,就不管三七二十一,拿了这本侯睫翻译的thinking in java,现在看已经看到了多态一章.感觉有点,但是不明确.首先本书介绍什么是oop,oop怎么实现,特别是当说到"万事万物皆对象"时,我还真有点冲动了:你想啊,
事物(object)--+生物(object)--+动物---+小狗
         |         |     +小猫
         |         |     +小猪
         |         +植物
         +非生物(object)-+房子
                   +桌子
                   +椅子
还有好多好多,所有的东西都在一个基类(base class)中,然后如果我们后来要增加一个新的东西,比如说我们又发现了一个新的事物:汽车.那么很明显,他是(is-a)事物,这样他只要继承了"事物(object)"就可以使用"事物(object)"的所有方法和执行做为事物的一般行为;我们还知道,他是非生物,那么首先我们已经考虑到非生物也是(is-a)"事物(object)"我们事先就可以让非生物类继承"事物(object)",然后我们也知道汽车是非生物,所以我们也就可以让汽车继承非生物来实现非生物应该具有的特性
"事物(object)"←非生物←汽车,如此的话我们只要事先让非生物继承与事物当中,我们在编写程序的时候不是只要使得汽车继承了了非生物,我们不就可以使用事物和非生物的一系列方法和特性,岂不是妙哉?这也是JAVA中的向上转型的一个概况(纯熟初学,乱晃那可怜的半桶水),这种转型,是属于借口窄化的做法,所以对我们事先定义的"事物(object)"类和非生物类都不会产生影响,我们可以尽情的发挥.
//////我的问题这里就出来了,我看了半天都没有搞明白什么是对象的references?他如果翻译成中文是什么(我查过字典,但是感觉还是和书本配不起意思来)?他和参数有什么区别////////
接下来就是,我们的汽车作为汽车这么一个新类后,他总有自己的特点吧,对了,汽车他有发动机,能动,象这些特有的我们可以再为他定义一个汽车的基类,这里扯的有点远了,不过我们很显然的汽车他有(has-a)发动机,而根据java的思想"万事万物都是对象",那么发动机总该也是对象吧,是的.但是发动机和汽车总不能继承了吧,这就是JAVA的另外一个重要的课题"组合".
就这两点我就已经被JAVA所折服,因为他把所有的事物都归类,都分档.在数据库的设计当中最容易出错的就是数据冗余问题,编程也是如此,只有将代码冗余减到最底,才有可能出好的项目,JAVA正是在向此problem宣战,减少冗余代码,提高程序性能.
好了吧,今天就不多写了,纯粹是给自己看的,达人一看就知道我是个外家,就不班门弄斧了


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/440/showart_1148.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP