首页 > 代码库 > c#基础介绍三

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就是调用基类的意思