摘要:
密封类不能被继承,密封方法会重写基类中的方法,但本身不能在任何类中进一步重写
密封类只要是为了防止第三方未经授权的扩展自身的类 阅读全文
摘要:
抽象类具有一下特性:
1、抽象类不能实例化。
2、抽象类可以包含抽象方法和抽象访问器。
3、不能用seled修饰符修改抽象类,这意味着抽象类不能被继承
4、从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现。
抽象方法具有以下特性:
1、抽象方法是隐式的需方法(在定义抽象方法,编译器会自动在前面加上virtual)
2、只允许在抽象类中使用抽象方法声明
3、因为抽象方法声明不提供实际的实现,所以没有方法体,方法声明只是以一个分号结束,并且在签名后没有打括号({}) 阅读全文
摘要:
方法 访问 作用 String ToString()... 阅读全文
摘要:
关键字new,重写基类成员变量
关键字base:
其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数、实例方法和实例属性访问器中,MSDN中小结的具体功能包括:
调用基类上已被其他方法重写的方法。
指定创建派生类实例时应调用的基类构造函数。 阅读全文
摘要:
virtual(虚拟)
1、允许在派生类中重写基类的方法,一般情况下方法是非虚拟的,不能重写。
2、virtual不能与static修饰符一起使用。
override(重写)
1、override提供从基类继承的成员的新实现,通过override声明、重写方法称之为重写基方法。
2、重写的基方法必须与override方法具有相同的签名,不能重写非虚的方法和静态的方法。
3、重写的基方法必须是virtual、abstract(抽象)和override.
阅读全文
摘要:
结构:
1.自定义数据类型
2.可以在其内部定义方法
3.无法实现继承
4.属于值类型 阅读全文
摘要:
数组具有以下属性:
1.数组可以是一维、多维或交错的。
2.数组元素的默认值设置为零,而引用元素的默认值设置为null。
3.交错数组是数组的数组,因此,它的元素是引用类型,初始化为null。
4.数组的索引从零开始:具有n个元素的数组的索引是从0到n-1。
5.数组元素可以是任何类型,包括数组类型。
6.数组类型是从抽象基类型Array派生的引用类型。由于次类型实现了IEnumerable(接口)和IEnumerable,因此可以对C#中的所有数组使用foreach迭代
阅读全文
摘要:
标识符 说明 把一行中的文本标记为代码,例如... 阅读全文
摘要:
C#简单数据类型
说明
byte 无符号8位整数,值为0~255
sbyte 有符号8位整数,值为-127~127
short 有符号16位整数,范围在-32768~32767
ushort 无符号16位整数,范围在0~65535
阅读全文
摘要:
C#继承规则
1、继承是可以传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
2、派生类应当是基类的扩展。派生类可以添加新的成员,但不能除去已经继承的成员的定义。
3、构造函数和析构函数不能被继承。除此之外的其他成员,不论对它们定义了怎样的访问方式,都能被继承。基类中成员的访问方式只能决定派生类能否访问它们。
4、派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不是因为这派生类删除了这些成员,只是不能再访问这些成员。(这点需要注意的是,如果是属性或者方法同名,但是签名不能,那就不是覆写,而是重载了)
5、类可以定义定义虚方法、虚属性以及虚索引指示器,它的派生类能够重载这些成员,从而实现类可以展示出多态性。
6、派生类只能从一个类中继承,可以通过接口实现多种继承。
阅读全文
摘要:
1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI.WebControls... 阅读全文
摘要:
1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5using System.Web; 6using System.Web.Security; 7using System.Web.UI; 8using System.Web.UI.WebControls... 阅读全文
摘要:
属性
索引器
1.允许调用方法,如果它们是公共数据成员
允许调用对象上的方法,如果对象是个数组
2.可以通过简单的名称进行访问
通过索引器进行访问
3.可以为静态成员或实例成员
必须为实例成员
4.属性的get访问器没有参数
索引器的get访问器具有与索引器相同的形参表
5.属性的set访问器包含隐式value参数
除了value参数外,索引器的set访问器具有与索引器相同的形参表
阅读全文
摘要:
委托 委托是一种数据结构,它引用静态方法或引用类实例及该类的实例方法。定义一个委托的语法是类似于定义方法,只不过在声明一个委托的时候,要使用delegate关键字,如下: public delegate string MyDelegate(string args) 委托的名字只是一个符合,重要的是它的参数和返回值。在生成一个委托实例的时候,必须用一个方法来实例化,而这个方法的“签名”(参数和返回值... 阅读全文
摘要:
public:公共成员修饰符,限制最少的一种访问方式(公共的)
private:私有成员仅限于类中的成员可以访问,从类的外部访问私有成员是不合法的,在声明中没有出现成员访问修饰符,按照默认方式成员为私有的(类的内部才能访问)
protected:方便派生类的访问,又希望成员对外是隐藏的(只能继承类才能访问)
internal:对于同一包中的应用程序或库是透明的,而在包.net之外是禁止访问的(同一个程序集才能访问,同一个命名空间)
protected internal:(两个相加)
阅读全文