C#基礎知識之抽象類繼承接口


有的時候需要將接口和抽象類配合起來使用,這樣可以為開發者提供相當的便利性,開發者覺得哪個方便就選用哪個。這樣的抽象類稱為便利類。此時,便利類並不需要實現接口的所有方法,可以留給繼承它的子類去實現它們。這么做並非是沒有意義的,當你自己寫的類想用接口中個別方法的時候(注意可以不是所有的方法),那么你就可以用一個抽象類先實現這個接口(方法體中為空),然后再用你的類繼承這個抽象類,這樣就可以達到你的目的了,如果你直接用類實現接口,那是所有方法都必須實現的。

直接繼承一個接口,就要將該接口的所有方法實現,不然會報錯,代碼如下:

public interface AInterface
{
    public void Hello1();
    public void Hello2();
    public void Hello3();
    public void Hello4();
    public void Hello5();

}

public class TestClass : AInterface
{
    public void Hello1() { }
    public void Hello2() { }
    public void Hello3() { }
    public void Hello4() { }
    public void Hello5() { }
}

如果想繼承接口AInterface,但又不想實現全部方法,中間就需要加一個抽象類,代碼如下:

/// <summary>
/// 接口
/// </summary>

public interface AInterface
{
    public void Hello1();
    public void Hello2();
    public void Hello3();
    public void Hello4();
    public void Hello5();
}
/// <summary>
/// 抽象類,實現AInterface接口
/// </summary>
public abstract class BAbstract : AInterface
{
    public void Hello1() { }
    public void Hello2() { }
    public void Hello3() { }
    public void Hello4() { }
    public void Hello5() { }
}
/// <summary>
/// 繼承抽象類AInterface,實現相應的方法
/// </summary>
public class TestClass : BAbstract
{
    public new void Hello1() { }
    public void Hello2() { }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM