2015年2月26日

摘要: 事件的主要特点是一对多关联,即一个事件源,多个响应者。在具体技术上,.NETFramework的事件处理机制是基于多路委托实现的。8.1事件与多路委托 先看一个多路委托示例项目MulticastDelegateLinkExample。首先定义一个委托:publicdelegatevoidMyMul... 阅读全文
posted @ 2015-02-26 14:36 星空丶那一抹流光 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 委托变量可以代表某一函数,使用委托变量就相当于调用一个函数。如果仅是这么简单,那么直接调用函数不就行了吗?为什么还要引入“委托”这一特性? 事实上,委托不仅可以代表一个函数,还可以组合“一堆”的函数,然后批量执行它们。 请看示例程序UseDelegate,它展示了委托变量之间的组合与分解。 项目中... 阅读全文
posted @ 2015-02-26 14:19 星空丶那一抹流光 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 委托是一种新的面向对象语言特性,在历史比较长的面向对象语言比如C++中并未出现过。微软公司在设计运行于.NETFramework平台之上的面向对象语言(如C#和VisualBasic.NET)时引入了这一新特性。7.1理解委托的概念 我们都很熟悉常用的数据类型(如int)的使用方法:先定义一个变量,... 阅读全文
posted @ 2015-02-26 14:02 星空丶那一抹流光 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 5.1抽象类与抽象方法 在一个类前面加上“abstract”关键字,此类就成为了抽象类。 对应地,一个方法类前面加上“abstract”关键字,此方法就成为了抽象方法。 注意抽象方法不能有实现代码,在函数名后直接跟一个分号。 抽象类专用于派生出子类,子类必须实现抽象类所声明的抽象方法,否则,子类仍是... 阅读全文
posted @ 2015-02-26 11:35 星空丶那一抹流光 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 4.4方法重载、隐藏与虚方法调用 由于子类对象同时“汇集了”父类和子类的所有公共方法,而C#并未对子类和父类的方法名称进行过多限制,因此,一个问题出现了: 如果子类中某个方法与父类方法的签名一样(即方法名和方法参数都一样),那当通过子类对象访问此方法时,访问的是子类还是父类所定义的方法? 让我们先从... 阅读全文
posted @ 2015-02-26 10:54 星空丶那一抹流光 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 继承是面向对象编程中一个非常重要的特性,它也是另一个重要特性——多态的基础。4.1继承概念的引入 现实生活中的事物都归属于一定的类别。比如,狮子是一种(IS_A)动物。为了在计算机中摸拟这种关系,面向对象的语言引入了继承(inherit)的特性。 如图所示,用类Animal代表动物,用类Lion代... 阅读全文
posted @ 2015-02-26 10:26 星空丶那一抹流光 阅读(169) 评论(0) 推荐(0) 编辑

导航