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