什么是在C#中的行为抽象类和接口?

这个问题在这里已经有了答案:

  • 界面和抽象类有什么区别? 32个答案

  • 你需要明确的实现接口。 抽象类方法method()实现满足了接口抽象方法实现的需要。 因此,在类childe定义接口的方法,但显式实现需要调用接口的方法,但不要调用类。

    public interface NomiInterface
    {
         void method();
    }
    public abstract class Nomi1
    {
         public void method()
         {
              Console.WriteLine("abstract class method");
         }
    }
    public class childe : Nomi1, NomiInterface 
    { 
         void NomiInterface.method()
         {
              Console.WriteLine("interface method"); 
         }
    }
    

    您可以测试如何调用childe中存在的抽象类和接口实现的方法

    childe c = new childe();
    NomiInterface ni = new childe();
    ni.method();
    c.method();
    

    输出是

    interface method
    abstract class method
    

    另一方面,如果你不做显式的接口实现,那么在childe类中给出的实现不会在childe或接口对象上调用。

    public interface NomiInterface
    {
        void method();
    }
    public abstract class Nomi1
    {
        public void method()
        {
            Console.WriteLine("abstract class method");
        }
    }
    public class childe : Nomi1, NomiInterface
    {
        void method() { Console.WriteLine("interface method"); }
    }
    

    像我们以前那样创建类和接口的对象。

    childe c = new childe();
    NomiInterface ni = new childe();
    ni.method();
    c.method();
    

    你会得到的输出

    abstract class method
    abstract class method
    

    作为补充说明,您将关注类/方法名称的命名约定。 你可以在这里找到更多关于命名约定的知识。

    链接地址: http://www.djcxy.com/p/54257.html

    上一篇: what is the behaviour abstract class and interface in c#?

    下一篇: PHP, OOP interface and abstraction