有的时候需要将接口和抽象类配合起来使用,这样可以为开发者提供相当的便利性,开发者觉得哪个方便就选用哪个。这样的抽象类称为便利类。此时,便利类并不需要实现接口的所有方法,可以留给继承它的子类去实现它们。这么做并非是没有意义的,当你自己写的类想用接口中个别方法的时候(注意可以不是所有的方法 ...
摘 要 抽象类,是一种特殊的类,可以定义具有实现的方法,也可以定义未实现的方法契约,本身不能被实例化,只能在派生类中进行实例化。接口,对一组方法签名进行统一的命名,只能定义未实现的方法契约,本身也不能被实例化,只能在实现类中进行实例化。二者都可以有部分数据成员 如:属性 ,它们貌似有着相同的 契约 功能,但对各自的派生类 实现类 又有着不同的要求,那么,到底它们有何异同呢 这一章将从四个方面来讲 ...
2012-08-01 18:07 17 3537 推荐指数:
有的时候需要将接口和抽象类配合起来使用,这样可以为开发者提供相当的便利性,开发者觉得哪个方便就选用哪个。这样的抽象类称为便利类。此时,便利类并不需要实现接口的所有方法,可以留给继承它的子类去实现它们。这么做并非是没有意义的,当你自己写的类想用接口中个别方法的时候(注意可以不是所有的方法 ...
摘 要 类 就像自然界的事物一样,拥有反应其自身状态特性的一系列数据。类状态数据是由常量、字段、属性等一些基础成员组成,且有静态和实例之分。它们之间有什么区别呢?可以互相替代吗?常量与静态只读字段有什么区别呢?属性是用方法实现,那么实现它的方法可以有参数吗?本章将解释 ...
摘 要 世界上存在着男人和女人,如果没有某种东西把男人和女人连接起来构成“男女关系”,那么这些男人将立如树桩,仰天长叹,女人们将飘如小舟,荡无归处,整个世界毫无生机,自然离合。C#语言的类也是如此,有了字段和属性这些基础数据,必然要有一种东西让它们存储着某种联系 ...
场景来说明下抽象类和接口的异同,到底哪些情况需要用接口?又有哪些情况需要用抽象类呢? C#基础系列目录: ...
摘 要 几乎所有的资料都告诉我们,在频繁进行字符串拼接操作的时候推荐使用StringBuilder,因为它提供更优秀的性能,不辞劳苦的我们也写示例验证过,确实如传说的那样! ...
摘 要 反射,一个很有用且有意思的特性。当动态创建某个类型的实例或是调用方法或是访问对象成员时通常会用到它,它是基于程序集及元数据而工作的,所以这一章我们来讨论一下程序集、反射如何工作、如何动态创建类型及对象等相关知识,甚至可以动态创建程序集 ...
摘 要 设计类型的时候可以使用各种成员来描述该类型的信息,但有时候我们可能不太愿意将一些附加信息放到类的内部,因为这样,可能会给类型本身的信息描述带来麻烦或误解。我们想为类型、属性、方法及返回值附加额外的信息,这些附加信息可以更明确的表达类及其对象成员的状态,怎么办 ...
摘 要 委托与事件,这是一个老生常谈的话题,很多人在讲,很多人在用,但似乎它是一个永远也说不完道不尽的东西。那么,到底什么是委托?什么是事件?委托链又是怎么回事?为什么使用 ...