摘要:
第一节 接口慨述 接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。 接口好比一种模版,这种模版定义了对象必须实现的方... 阅读全文
摘要:
函數指標的進化論(下) 作者:蔡學鏞 2003 年 11 月 Delegate C# 也支援多型與反射,但是 C# 卻是使用 delegate 來實現多緒和回呼 (而不使用多型與反射)。delegate 是函數指標的改良品種。delegate 的效率應該比多型稍差,但是用起來更方便,且允許使用靜態方法。 C# 編譯器對 delegate 以及 event 提供了大量的語法甜頭 (syntac... 阅读全文
摘要:
函數指標的進化論 (上) 作者:蔡學鏞 2003 年 10 月 摘要 函數指標 (function pointer) 是傳統 C 語言中少數的動態機制,但是近來許多語言都不再支援函數指標 (包括 Java 和 C#),而改用其他機制來代替。本文章簡單扼要地說明,多型 (polymorphism)、反映 (reflection)、委託 (delegate) 如何取代函數指標。 函數指標 (fu... 阅读全文
摘要:
什么?!更改接口? 随着时间的流逝,市面上开始布满了使用tmfc的开关的产品,看着自己的产品受到大家如此热烈的欢迎,tmfc感到无比的满足。但是他还是发现有些产品没有使用他的开关,他感到纳闷,“为什么你们不在这个台灯上装开关呢?”他指着装有老式插口(可以把两根电线的其中一根更换插槽来实现不同功能的控制装置,在开关发明之前统治着这个紧耦合的世界)的台灯向厂家的促销员问道。“您有所不知啊!说起... 阅读全文
摘要:
开关的诞生 话说在一个紧耦合的世界,有一个名为tmfc的工匠,一天,他发明了一个叫做开关的的设备。他琢磨了老半天,决定把开关装在自己的床头,这样他就不用在睡前起床去拔电灯的电线了(这可是个紧耦合的世界啊),tmfc对自己的发明非常满意。 class Switch{ Light light; public void Switch(Light l){ light = ... 阅读全文