您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

接口和类之间的区别是什么?为什么可以在类中直接实现方法,为什么要使用接口?

接口和类之间的区别是什么?为什么可以在类中直接实现方法,为什么要使用接口?

当您想创建类似的东西时,接口是非常好的:

using System;

namespace MyInterfaceExample
{
    public interface IMyLogInterface
    {
        //I want to have a specific method that I'll use in MyLogClass
        void WriteLog();       
    }

    public class MyClass : IMyLogInterface
    {

        public void WriteLog()
        {
            Console.Write("MyClass was Logged");
        }
    }

    public class MyOtherClass : IMyLogInterface
    {

        public void WriteLog()
        {
            Console.Write("MyOtherClass was Logged");
            Console.Write("And I Logged it different, than MyClass");
        }
    }

    public class MyLogClass
    {
        //I created a WriteLog method where I can pass as a parameter any object that implements IMyLogInterface.
        public static void WriteLog(IMyLogInterface mylogobject)
        {
            mylogobject.WriteLog(); //So I can use WriteLog here.
        }
    }

    public class MyMainClass
    {
        public void DoSomething()
        {
            MyClass aClass = new MyClass();
            MyOtherClass otherClass = new MyOtherClass();

            MyLogClass.WriteLog(aClass);//MyClass can log, and have his own implementation
            MyLogClass.WriteLog(otherClass); //As MyOtherClass also have his own implementation on how to log.
        }
    }
}

在我的示例中,我可以是一名编写人员的开发人员MyLogClass,而其他开发人员可以创建他们的类,并且当他们想要登录时,他们可以实现接口IMyLogInterface。就像他们问我要使用的WriteLog()方法需要实现什么一样MyLogClass。他们将在界面中找到答案。

其他 2022/1/1 18:17:43 有488人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶