C#中接口的显式和隐式实现

隐式实现方式是默认的方式,即在继承的类中,直接编写接口函数的实现方法。

显示实现方式,是在继承的类中,需要显示的标识接口函数的对应接口,并且在未来使用这个函数时,需要使用接口定义的方式调用。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MyClassAB myClass = new MyClassAB();
            myClass.MyFunctionB();//隐式实现接口函数的调用
            myClass.MyFunctionAB(); //隐式实现接口函数的调用


            InterfaceB myClassB = new MyClassAB(); 
            myClassB.MyFunctionAB();//显式实现接口函数的调用


            InterfaceA myClassA = new MyClassAB();
            myClassA.MyFunctionAB();//没有显式实现接口函数,所以调用的是隐式实现的函数
        }


    }
    interface InterfaceA


        {
    void MyFunctionA();
    void MyFunctionAB();
        }


    interface InterfaceB


    {
        void MyFunctionB();
        void MyFunctionAB();
    }


    public class MyClassAB: InterfaceA,InterfaceB
    {
         public void MyFunctionA()//隐式实现接口函数
        {
            Console.WriteLine("This is function A");
        }


        public void MyFunctionB()//隐式实现接口函数
        {
            Console.WriteLine("This is function B");
        }


        public void MyFunctionAB()//隐式实现接口函数
        {
            Console.WriteLine("This is function AB");
        }


        void InterfaceB.MyFunctionAB()//显式实现接口函数
        {
            Console.WriteLine("This is function AB from InterfaceB");
        }
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值