标签:style blog class code java color
在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就是调用基类的意思
标签:style blog class code java color
原文地址:http://www.cnblogs.com/bin92/p/3716794.html