C#高级编程笔记(二)

1、继承:实现继承,接口继承。

2、结构总是派生自SystemValueType,它们可以派生自多个任意的多个接口。

类总是派生自用户选择的另一个类,它们还可以派生自任意多个接口。

3、使用冒号“:”实现继承。多个继承用逗号隔开。

4、虚方法:virtual,把一个基类的函数声明为虚函数,可以在任何派生类中重写该函数。重写虚方法的时候,需要使用override关键字显式声明。

5、隐藏方法:签名相同的方法在基类和派生类中都进行了声明,但该方法没有分别说明override和virtual。

6、调用函数的基类版本:base.<方法名>()。

7、抽象类和抽象函数,使用abstract声明,

8、密封类和密封方法:使用sealed。类密封后,无法继承,方法被密封后,将不能重写。

9、修饰符:public,protected,internal,private,protected internal。其他修饰符:new,static,virtual,abstract,override,sealed,extern(成员在外部用另一种语言实现。)

10、接口:interface,接口定义不允许声明修饰符,总是共有的,不能定义为静态或者虚拟,需要的话,应由类的声明实现。

11、接口的派生:类在继承接口的时候,需要实现接口的所有方法。

12、泛型:泛型的优点

①性能:从值类型转换为引用类型呗成为装箱,从引用类型转为值类型则成为拆箱。拆箱时候经常需要强制转换符。

②类型安全:与ArrayList类一样,可以在集合中添加任意类型。

③二进制代码的重用:定义一次,多种不同类型实例化。

④利于代码的扩展。

泛型的命名约定:以T为前缀,无约定则代表任意替代,即<T>。有特殊要求,则添加具体描述性名称。

泛型的功能:默认值,约束,继承,静态成员。

泛型接口。

13、数组:

原文地址:https://www.cnblogs.com/diaosizhang/p/3079054.html