显示实现接口成员

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

#region
/*试想一下,如果在一个类A继承自接口B和C,
并且在B和C中包含具有相同签名的成员,
那么在类中实现该成员将导致两个接口都使用该成员作为他们的实现,
然而,如果两个接口成员实现不同的功能,
那么将会导致一个接口的成员实现不正确或两个接口的成员实现都不正确,
这个时候我们应该如何处理呢?我们可以显示的实现接口成员,
即创建一个仅通过接口调用并且特定于该接口的类成员。*/
#endregion
namespace 显示实现接口成员
{
    interface ImyInterface1
    {
        int Add();
    }
    interface ImyInterface2
    {
        int Add();
    }
    class myClass : ImyInterface1, ImyInterface2 
    {
        int ImyInterface1.Add()                     //显式接口成员实现
        {
            int x = 3;
            int y = 5;
            return x + y;
        }
        int ImyInterface2.Add()                      //显式接口成员实现
        {
            int x = 3;
            int y = 5;
            int z = 7;
            return x + y + z;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            ImyInterface1 i1 = new myClass();//使用接口继承类的对象实例化接口
            Console.WriteLine(i1.Add());     //使用接口对象调用接口中方法
            ImyInterface2 i2 = new myClass();
            Console.WriteLine(i2.Add());
            Console.ReadKey();
        }
    }
}

转载于:https://www.cnblogs.com/bb-love-dd/p/6008767.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值