您的位置:首页 > 编程语言 > C#

C# Common Keyword

2014-02-04 15:27 309 查看
C# Common Keyword

1、abstract

  Use the abstract modifier in a class declaration to indicate that a class is intended only to be a base class of other classes. Members marked as abstract, or included in an abstract class, must be implemented by classes that derive from the abstract class.

  使用abstract修饰类,表示着该类只作为基类使用,无法生该类实例。用abstract修饰的方法,或方法在abstract class中,则子类必须实现这2种方法

  abstract和sealed不能同时使用。abstract意味着希望子类继承,sealed意味着禁止子类继承。

  Use the abstract modifier in a method or property declaration to indicate that the method or property does not contain implementation.

  abstract修饰方法,意味着方法缺少实现。

  An abstract method is implicitly a virtual method.

  子类实现abstract方法时,必须加上override。

  抽象方法在抽象类中没有函数体。抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法。

抽象类有如下特征:

抽象类不能实例化

抽象类的派生类必须实现所有抽象方法

抽象类中的抽象方法是没有方法体的,继承其的子类必须实现抽象类的抽象方法

抽象方法:

抽象方法是隐式的虚方法

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

抽象方法在抽象类中没有方法体

在抽象方法声明中,不能使用static或者virtual修饰符

class X

{
protected virtual void F() { Console.WriteLine("X.F"); }
protected virtual void F2() { Console.WriteLine("X.F2"); }
}
class Y : X
{
sealed protected override void F() { Console.WriteLine("Y.F"); }
protected override void F2() { Console.WriteLine("X.F3"); }
}
class Z : Y
{
// Attempting to override F causes compiler error CS0239.
// protected override void F() { Console.WriteLine("C.F"); }//sealed修饰的方法是不允许继承的

// Overriding F2 is allowed.
protected override void F2() { Console.WriteLine("Z.F2"); }
}


View Code
5、new 修饰符

  在用作修饰符时,new 关键字可以显式隐藏从基类继承的成员。隐藏继承的成员时,该成员的派生版本将替换基类版本。虽然可以在不使用 new 修饰符的情况下隐藏成员,但会生成警告。如果使用 new 显式隐藏成员,则会取消此警告,并记录要替换为派生版本这一事实。  

  


参考:

1、http://blog.csdn.net/richerg85/article/details/7407544

2、http://msdn.microsoft.com/zh-cn/library/435f1dw2(v=vs.90).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: