2011年4月21日

浅谈C#抽象类和C#接口

摘要: 一、C#抽象类:C#抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于 抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须 覆盖它们。二、C#接口:C#接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化;2、包含未实现的方法声明;3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员);另外,接口有如下特性:接口除了可以包含方法之外,还可以包含属性、索引器、事件,而 阅读全文

posted @ 2011-04-21 11:31 BarneyZhang 阅读(848) 评论(0) 推荐(0) 编辑

c#中const和readonly区别

摘要: 一:概念const 关键字用于定义常量。它在赋初始值后不能被修改。常量字段是隐式静态的。不允许在常数声明中使用 static 修饰符。readonly 关键字是只读字段数据。和常量相似,不能在赋初始值后改变。和常量不同的是只读字段可以在运行时决定,因此在构造函数作用域中进行赋值时合法的(其他地方不行)。static readonly 静态只读字段,只读字段不是隐式静态的,所以要在类级别公开,就必须显式使用static关键字。二:区别1.const是一个包含不能修改的值的变量,是在编译时可被完全计算的表达式。因此不能从一个变量中提取的值来初始化常量。如果 const int a = b+1;b是 阅读全文

posted @ 2011-04-21 11:13 BarneyZhang 阅读(537) 评论(0) 推荐(1) 编辑

c#静态方法和非静态方法区别

摘要: C#的类中可以包含两种方法:C#静态方法与非静态方法。那么他们的定义有什么不同呢?他们在使用上会有什么不同呢?让我们来看看最直观的差别:使用了static 修饰符的方法为静态方法,反之则是非静态方法。比较一、C#静态成员:静态成员属于类所有,非静态成员属于类的实例所有。每创建一个类的实例,都会在内存中为非静态成员新分配一块存储;静态成员属于类所有,为各个类的实例所公用,无论类创建了多少实例,类的静态成员在内存中只占同一块区域。比较二、C#静态方法C#静态方法属于类所有,类实例化前即可使用。非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员。因为静态方法在类实例化前就可以使用,而类 阅读全文

posted @ 2011-04-21 10:25 BarneyZhang 阅读(2408) 评论(0) 推荐(3) 编辑

导航