一万光年外  
免费OA软件网 http://www.freeoasoft.com 专注于平台架构设计及OA软件开发

毕业了?恭喜恭喜!”好好先生还在打太极拳。

 

姚鑫辰问道:“是啊,不知我以后应该怎么做呢?”

 

好好先生:“首先,你要去IT工会注册一个工作室,工作室分S、A、B及C级之分,刚注册时是C级,然后靠完成IT工会的任务来升级,当级别达到S级后,就可以接那个超级任务了,完成了超级任务,你就可以回家了!“

 

“看来游戏的情节还算简单嘛!“姚鑫辰自我安慰。

 

走进IT工会,感觉进了一个酒吧,宽敞的大厅两边有几排桌椅,稀稀拉拉的坐着几个喝酒的人,中间是走道,尽头有个服务台,一个服务员在那里嗒嗒的打着算盘。

 

姚鑫辰:“你好,我是来注册工作室的!“

 

服务员头也不抬的说道:“你一个人,不行,首先至少要有三个人才能注册,你先找齐三个人再来吧!“

 

“至少要三个人,也就是说除了我还至少还要两个人!“姚鑫辰看了看,走到了最近的一桌,两个人正在喝酒。

 

姚鑫辰:“两位兄弟,在喝酒啊,怎么称呼?”

 

其中一人答道:“我们是IT工会最出名的淫贱二人组,我叫包打听,他叫爱找碴。”

 

姚鑫辰:“我想注册个工作室,特来邀请二位兄弟加入,不知二位兄弟意下如何?“

 

“加入可以,不过我们兄弟有个条件!“爱找碴酷酷的说道。

 

姚鑫辰:“什么条件?说来听听!”

 

爱找碴一脸的淫荡:“你先说个够淫荡的笑话吧!要够淫荡够搞笑哟!”

 

姚鑫辰想道:“够淫够搞笑的笑话!”,突然想起以前看过的一个笑话。

 

一次战争中,兵甲和兵乙被俘虏了,敌军将领问道:“说出你们的头在哪里?坦白从宽,抗拒从严!”

 

没人回答,敌军将领生气了!说道:“不说是吧,那就别怪我不客气了!’

 

问兵甲:“是要死还是要活?”

 

“没事谁想死呀!”兵甲嘀咕道。

 

“那好,给我拉出去,弹他小JJ一万下!“敌军将领道。

 

只听外面传来一阵阵啊啊啊的惨叫声。

 

“靠,这可是生不如死啊,我选死算了!“兵乙想道。

 

敌军将领接着问兵乙:“你呢,是要死还是要活?“

 

兵乙大义凛然:“我选死!“

 

敌军将领:“那我就成全你吧,卫兵,给我拉他出去,弹他的小JJ,直到死为止!“

 

“果然够淫荡,不过我喜欢!“爱找碴笑道。

 

“你呢?“姚鑫辰看向包打听。

 

包打听:“我也有一个问题,现在这里有一盘菜,你不想给我和爱找碴吃,要怎么做才能你自己一个人吃?“

 

姚鑫辰:“我会在菜里吐口水,反正我自己吃也不恶心!“

 

包打听皮笑肉不笑:“你这个贱人,真恶心,也真贱,不过我更喜欢!“高兴地跳了起来:”缘份啊!兄弟!“

 

 

三人来到服务台,姚鑫辰道:“你好,我们三个要注册工作室!“

 

服务员看了一眼,道:“嗯!人数够了,你们三个谁来答问题?“

 

“还要答问题?“姚鑫辰看了看爱找碴和包打听,后者转过身去,心里鄙视:“真是交友不慎啊!”,无可耐何道:“我来吧!“

 

服务员:“请以实例说明为什么要面向接口编程,而不要面向实现编程?“

 

姚鑫辰:“这句话的本意是指我们编程的时候,应主要关注对象的契约,而不要盯着对象的具体实现。这样做更便于程序的移植、升级和扩展,下面我来以实例说明。“

 

停了一会,继续说道:“比如说我们要生产计算机,计算机有很多种,如笔记本、台式机、服务器、PDA等,如果我们要建建立计算机实例并启动它,最好建立一个计算机类作为笔记本、台式机等的抽象类(即接口),具体代码如下:“

 

    /// <summary>

    /// 计算机基类,抽象接口

    /// </summary>

    public class 计算机

    {

        /// <summary>

        /// 虚拟方法,接口

        /// </summary>

        public virtual void 启动() { }

    }

 

    /// <summary>

    /// 实际机类

    /// </summary>

    public class 笔记本 : 计算机

    {

        /// <summary>

        /// 重载实际的启动方法

        /// </summary>

        public override void 启动()

        {

        }

}

 

看了服务员一眼,姚鑫辰继续说道:“下面是具体建立实例及启动计算机的方法:”

 

public void 启动计算机()

{

        计算机 pc = new 台式机();

        pc.启动();

}

 

“注意‘计算机 pc = new 台式机();‘这一句,声明时是用[计算机]这个抽象类,方法调用也是抽象类的抽象方法,但因为实例化的是实际的‘台式机’,所有实际执行的启动方法是台式机的启动方法。比如要增加笔记本,只要增加笔记本类,调用时把台式机改为笔记本就OK了,这样也无形中符合面向增加开放,面向修改关闭的原则,如果配合反射,甚至可以不用修改调用代码…”

 

“好了,别卖弄了,填表吧!”服务员不耐烦道。

 

某年某月某日,“鑫辰工作室“正式诞生!欲知后事如何,且听下回分解!

 

 

作者: 一万光年外 欢迎交流

邮箱:   freeoasoft@126.com

Blog:   http://www.cnblogs.com/yaozy/

主页:   http://www.freeoasoft.com

 

posted on 2009-02-10 19:44  一万光年外  阅读(2663)  评论(10编辑  收藏  举报
 
免费OA软件网 http://www.freeoasoft.com 专注于平台架构设计及OA软件开发