對於介面中方法重寫及覆蓋

2021-09-06 04:39:51 字數 2415 閱讀 4724

using system;

using system.data;

using system.configuration;

using system.linq;

using system.web;

using system.web.security;

using system.web.ui;

using system.web.ui.htmlcontrols;

using system.web.ui.webcontrols;

using system.web.ui.webcontrols.webparts;

using system.xml.linq;

/* 這個案例主要人任務是介紹。介面中方法的重寫及覆蓋的等方法,這裡面涉及到幾個關鍵字 *

<1>virtual  這個修飾符是很關鍵的修飾符,一般應用於基類中,方便與子類中的重寫基覆蓋

public inte***ce i_6_a  

//定義乙個介面,i_6_a 裡面包含兩個方法

string geturl();   

string getname();

public class i_6_l : i_6_a 

//此處定義與乙個類,並且對於基介面中的方法進行了描述。這個類作為以下類的基類

public virtual string geturl()

return "這個方法是在子類中是可以任意重寫的";  

public virtual string getname()

return "這個方法同上";   

//下面這個類就是對於上面類的繼承,但有乙個不同點就是同時繼承了基類的介面。。因為本身裡面的方法重寫的方法不是這樣

//所以這樣必須的在繼承與基類的同時,對於介面進行繼承  但是這種方法是不改變任何基類中的任何方法的。。一般沒什麼意思

//* 這裡面還要強調乙個關鍵點就是當我們對於介面中的成員實現時不能使用任何修飾符  */

return "這個是對介面中的方法進行定義";  

/* 下面這個方法同樣的繼承了i_6_l這個類。而且使用了override關鍵字i_6_l中的方法進行重寫 * 這種方法個人理解,只是對原基類中的方法進行重寫,而不會影響基類中的原函式。在我們呼叫.dll中有這種用法  */

public class i_6_l_3 : i_6_l

public override string geturl()    

return "www.qq.com";

public override string getname()   

return "這是對於原函式的重寫";   

/* 下面這個類是很嚴重的,他不但繼承了上面的類。而且對於基類中的方法進行了覆蓋。。這裡面用到了new的修飾符 */

public class i_6_l_4 : i_6_l

public new string geturl()   

return "www.126.com";

public new string getname()   

return "這是對於基類中的方法進行覆蓋";

下面是對上面的例項進行引用,

protected void button1_click(object sender, eventargs e)   

i_6_l l1 = new i_6_l();    

response.write(l1.getname() + ":" + l1.geturl());  

i_6_l_2 l2 = new i_6_l_2();      

response.write("

"+l2 .getname ()+":"+l2 .geturl ());  

i_6_l_3 l3 = new i_6_l_3();     

response.write("

" + l3 .getname() + ":" + l3 .geturl());    

i_6_l_4 l4 = new i_6_l_4();     

response.write("

" + l4.getname() + ":" + l4.geturl());

下面是輸出結果:

這個方法同上:這個方法是在子類中是可以任意重寫的 這個方法同上:這個方法是在子類中是可以任意重寫的 這是對於原函式的重寫:www.qq.com 這是對於基類中的方法進行覆蓋:www.126.com

上面的方法中方法一沒有對基類中方法進行重寫,所以沒有改變任何值。。只是乙個例項

Python中方法的重寫 覆蓋父類的方法

當父類的方法重寫不能滿足子類的需求時,可以對方法進行重寫。重寫父類方法有兩種情況 覆蓋父類的方法 對父類方法進行擴充套件 覆蓋父類的方法使用場景 在開發時,如果父類的實現方法和子類的實現方法完全不同 就可以使用覆蓋父類的方式,在子類中重新編寫父類方法實現 具體實現方式 在子類中定義乙個和父類同名的方...

方法重寫 覆蓋

簡單來說 方法覆蓋 重寫 就是子類有乙個方法,和父類的某個方法的名稱 返回型別 引數一樣,那麼我們就說子類的這個方法覆蓋了父類的那個方法。方法重寫也叫方法覆蓋,需要滿足下面的條件 子類的方法的形參列表,方法名稱,要和父類的方法引數,方法名稱完全一樣。子類方法的返回型別和父類方法返回型別一樣,或者是父...

java中方法的重寫

什麼是重寫?在子類中有乙個和父類中方法名相同,引數列表相同,返回值相同的方法,子類重寫了父類的方法。為什麼重寫?因為子類繼承父類以後功能更加強大,父類繼承過來的方法可能滿足不了子類的需求,所以需要方法的重寫。重寫需要用到的註解 override 子類是否重寫父類方法,取決於這個方法是否使用 over...