Java V 0.001——Upcasting

====Upcasting====
 
假设我们用Java写了这样一个函数:
 
void doStuff(Shape s) {
  s.erase();
  // …
  s.draw();
}
 
这个函数可与任何“几何形状”(Shape)通信,所以完全独立于它要描绘(draw)和删除(erase)的任何特定类型的对象。如果我们在其他一些程序里使用doStuff()函数:
 
 
Circle c = new Circle();
Triangle t = new Triangle();
Line l = new Line();
doStuff(c);
doStuff(t);
doStuff(l);
 
 
那么对doStuff()的调用会自动良好地工作,无论对象的具体类型是什么。
这实际是一个非常有用的编程技巧。请考虑下面这行代码:
doStuff(c);
此时,一个Circle(圆)句柄传递给一个本来期待Shape(形状)句柄的函数。由于圆是一种几何形状,所以doStuff()能正确地进行处理。也就是说,凡是doStuff()能发给一个Shape的消息,Circle也能接收。所以这样做是安全的,不会造成错误。
我们将这种把衍生类型当作它的基本类型处理的过程叫作“Upcasting”(上溯造型)其中,“cast”(造型)是指根据一个现成的模型创建;而“Up”(向上)表明继承的方向是从“上面”来的——即基础类位于顶部,而衍生类在下方展开。所以,根据基础类进行造型就是一个从上面继承的过程,即“Upcasting”。
在面向对象的程序里,通常都要用到上溯造型技术。这是避免去调查准确类型的一个好办法
请看看doStuff()里的代码:
s.erase();
// …
s.draw();
 
注意它并未这样表达:“如果你是一个Circle,就这样做;如果你是一个Square,就那样做;等等”。若那样编写代码,就需检查一个Shape所有可能的类型,如圆、矩形等等。这显然是非常麻烦的,而且每次添加了一种新的Shape类型后,都要相应地进行修改。在这儿,我们只需说:“你是一种几何形状,我知道你能将自己删掉,即erase();请自己采取那个行动,并自己去控制所有的细节吧。”

Java路漫漫

java是印尼的一个小岛,盛产咖啡,而程序员往往喜欢喝咖啡,因此取名为java语言。

目前java这杯咖啡已经飘香在世界各地。

今天开始我也要和java为伴咯,学习这门充满活力的语言。

我知道我会遇到很多困难,但是我有信心把它们都克服。

所以,我专门开辟了一个新的日志类别来记录我学习过程中的点滴

 

===preface===

多功能全球时钟介绍

这个软件我去年8月开始构思的,当时奥运会正在希腊举行,为了了解中国和希腊的时差我就把以前一个作为作业的时钟拿出来修改
,改着改着功能越来越多,我把它发布到网上作为一个共享软件供大家使用,反响热烈,于是我继续投入了大量时间精力下去开发。
 
那个时候打算能用它赚点零花钱,但是考虑到中国盗版和破解的流行,我还是选择了不用注册即可使用全部功能,如果愿意支持我开
发的可以支付10元注册费意思意思。现在看来下载量还是达到了5位数,但是给我寄钱的没几个,当然有几个用户还是让我很感动的
,不仅寄来了注册费还写了许多宝贵的意见鼓励我继续开发。
 
 
然而,它给我带了了其他的东西,因为它认识了她,虽然现在分手了,但是要是没有这个软件,估计也不会和她认识的。同时,凭借
它我当上了学校论坛的版主。之后又用它参加了4个比赛,最初的开源杯,没有结果,之后学校里的大厦杯和我们系里的科技作品竞
赛都得了2,3等奖(不服气)。
 
 
不过我也好久没有更新过了,当时用VB6.0 开发的,一直考虑用。Net重写一个,也许快了吧:)
 
下面是界面(不算漂亮,但是很合理)
 
天空软件和华军上我好久没去更新了,本来我们论坛上有提供最新版下载,不过论坛暂时当了。
 
新申请了一个网络硬盘,把这个软件上传了,大家去下载个看看吧:)
http://free.ys168.com/?davidant
 
下面结合图片来介绍:
 
1。主界面

包括了6个全球不同时区的时间日期

 

2。定时关机

 

3。模拟秒表

 

4。电子万年历

 

5。日期计算

6。一些创新之处

标题栏时钟

 

 

 任务栏时钟

浮动窗体式时钟

庆祝中国男足东亚4强赛夺冠!!

不容易,第一次夺冠,更主要的是这次比赛的表现不错,赞一个!!
 
特别是郜林,世青赛上就表现很好,这次算是在亚洲出彩了,真希望他早日出国踢球,因为中国的足球环境太会毁人。
 
谢晖的那脚也非常漂亮,这也是出国踢球的成果。
 
这两天拿了台扫描仪把从小到大的照片都扫进了电脑里:)
 
不过貌似上传到msn后模糊了许多-_-"
 
 

添加留言簿

看到有朋友询问,就来说下吧:)
 
要实现简单的留言簿一点也不难,具体步骤如下:
 
 
1。新建一个日志,作为日后的留言簿
2。发表后,预览我的空间,找到最新的日志,点左下角的固定链接
3。把这个固定链接复制下来,然后新建一个自定义列表,就像平时做链接一样,做一个链接到你那个留言簿的链接
4。把这个自定义列表的名字修改后,放到主页上醒目的位置
5。保存,然后你就可以用来让大家留言了
 
 
当然你可以充分发挥你的想象力,给留言簿添加计数器,ip追踪等有趣的东东
 
p.s.这次主要用到固定链接这一东西,其实每发布一篇日志都会产生一个固定链接用来直接访问它
好了大家都去试试看吧:)