c#基础介绍三

在C#中,函数默认下不是虚拟的,需要显式的声明。

派生类的函数重写另一个函数时,要使用override 关键字显式的声明。如果声明了override 函数,但在基类中如果没有可以重写的函数,编译器就会报错了。

注意,成员字段和静态函数都不能声明为 virtual ,因为这个概念只对类中的实例函数成员有意义。

 1 using System;
  
  namespace bin 2 { 3   public class baseClass 4   { 5     public virtual string getUrl() 6     { 7       return "cnblogs.com"; 8      } 9    } 10   public class baseClass2:baseClass 11   { 12     public override string getUrl() 13     { 14       return "gosoa.com.cn"; 15     } 16   } 17   public class test : baseClass2 18   { 19     public override string getUrl() 20     { 21       return "www.gosoa.com.cn"; 22     } 23     static void Main() 24     { 25       test classOne=new test(); 26       Console.WriteLine(classOne.getUrl()); 27     } 28   } 29 }

如果没有override 关键字,则baseClass2类的getUrl()
方法就会隐藏基类的getUrl()方法。在编译的时候,系统会给予警告。

url+=base.getUrl();这一句,base就是调用基类的意思

 

如果把类声明为  sealed 即标明该类不可以被继承,如果是方法,则方法不可以被重写。

 

posted on 2014-05-08 18:36  bin10.dll  阅读(191)  评论(0)    收藏  举报