還是看上一個例子,我們稍作修改,如下,
public class test : baseClass2
{
public override string getUrl()
{
string url="http://";
url+=base.getUrl();
return url;
}
static void Main()
{
test classOne=new test();
Console.WriteLine(classOne.getUrl());
}
}
我們來看url+=base.getUrl();這一句,base就是調用基類的意思,所以,本例的輸出結果是
http://gosoa.com.cn
(5)、抽象類和抽象方法。
C#允許把類聲明為 abstract ,抽象類不能實例化,抽象方法不沒有執行代碼。
我覺得抽象類和抽象方法沒有什麼用,一般我們用接口就可以了。搞不太明白C#中這個抽象類和抽象方法到底想用來干什麼。
(6)、密封類和密封方法。
如果把類聲明為 sealed 即標明該類不可以被繼承,如果是方法,則方法不可以被重寫。
(7)、派生類的構造方法。
在派生類中,構造方法是依次從基類中執行,最後到派生類本身的構造函數。
我們來看下面的例子:
using System;
namespace gosoa.com.cn
{
public class userBase
{
private string username;
public userBase()
{
Console.WriteLine( "I'm good men");
}
public userBase(string username)
{
this.username=username;
}
}
public class oneMen : userBase
{
public oneMen()
{
Console.WriteLine( "Yes , I'm very good !");
}
public oneMen(string username):base(username)
{
Console.WriteLine( username +" is a good men!");
}
public oneMen(string username,string hisWebSite):base(username)
{
Console.WriteLine( username +"'s webSite is "+hisWebSite);
}
public static void Main()
{
oneMen classOne=new oneMen();
//oneMen classTwo=new oneMen("pan");
//oneMen classThree=new oneMen("pan","www.gosoa.com.cn");
}
}
}