C#基础(六)

1、继承:

  (1)base:用于从派生类中访问基类成员

        可以使用 base 关键字调用基类的构造函数

  (2)override:要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。

         override 方法提供从基类继承的成员的新实现。由 override 声明重写的方法称为重写基方法。

         重写的基方法必须与 override 方法具有相同的签名。

         不能重写非虚方法或静态方法。重写的基方法必须是 virtual、abstract 或 override 的。

         override 声明不能更改 virtual 方法的可访问性。override 方法和 virtual 方法必须具有相同的访问级别修饰符。

         您不能使用 new、static 或 virtual 修饰符来修改 override 方法。

         重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且被重写的属性必须是 virtual、abstract 或 override 的。

  (3)new:在 C# 中,派生类中方法的名称可与基类中方法的名称相同。

        可通过使用 new 和 override 关键字指定方法互动的方式。

        override 修饰符 extends 基类方法,且 new 修饰符将其“隐藏”起来。这种区别在本主题中的示例显示出来。

  (4)virtual:virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。

         调用虚方法时,将为重写成员检查该对象的运行时类型。

          将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。

          默认情况下,方法是非虚拟的。不能重写非虚方法。

          virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。

2、抽象类与抽象方法:

  abstract 修饰符指示所修饰的内容缺少实现或未完全实现。

  abstract 修饰符可用于类、方法、属性、索引器和事件。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。

  标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。

  抽象类特性:

        抽象类不能实例化。

        抽象类可以包含抽象方法和抽象访问器。

        不能用 sealed修饰符修饰抽象类,因为这两个修饰符的含义是相反的。

        采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。

        从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。

  抽象方法特性:

        抽象方法是隐式的虚方法。

        只允许在抽象类中使用抽象方法声明。

        因为抽象方法声明不提供实际的实现,所以没有方法体;方法声明只是以一个分号结束,并且在签名后没有大括号 ({ })。

        在抽象方法声明中使用 static 或 virtual 修饰符是错误的。

        除了在声明和调用语法上不同外,抽象属性的行为与抽象方法一样。

        在静态属性上使用 abstract 修饰符是错误的。

        在派生类中,通过包括使用 override 修饰符的属性声明,可以重写抽象的继承属性。

3、Extensions:扩展类,在本类或系统类中使用

4、Partial:在同一个项目中,将一个类写入多个文件中,在编译时共同完成其定义内容

      调用时写全其所有类名

posted @ 2015-04-16 10:30  Yida_婷婷  阅读(113)  评论(0编辑  收藏  举报