一个类如何实现两个接口中同名同参数不同返回值的函数

假设有如下两个接口:
一个类如何实现两个接口中同名同参数不同返回值的函数public interface IA
一个类如何实现两个接口中同名同参数不同返回值的函数
{
一个类如何实现两个接口中同名同参数不同返回值的函数    
string GetA(string a);
一个类如何实现两个接口中同名同参数不同返回值的函数}

一个类如何实现两个接口中同名同参数不同返回值的函数
public interface IB
一个类如何实现两个接口中同名同参数不同返回值的函数
{
一个类如何实现两个接口中同名同参数不同返回值的函数    
int GetA(string a);
一个类如何实现两个接口中同名同参数不同返回值的函数}
他们都要求实现方法GetA,而且传入的参数都是一样的String类型,只是返回值一个是String一个是Int,现在我们要声明一个类X,这个类要同时实现这两个接口:
一个类如何实现两个接口中同名同参数不同返回值的函数public class X:IA,IB
由于接口中要求的方法的方法名和参数是一样的,所以不可能通过重载的方式来解决,那么我们该如何同时实现这两个接口拉?解决办法是把其中的不能重载的方法直接写成接口的方法,同时要注意这个方法只能由接口调用,不能声明为Public类型的.所以X的定义如下:
一个类如何实现两个接口中同名同参数不同返回值的函数public class X:IA,IB
一个类如何实现两个接口中同名同参数不同返回值的函数
{
一个类如何实现两个接口中同名同参数不同返回值的函数    
public string GetA(string a)
一个类如何实现两个接口中同名同参数不同返回值的函数    
{
一个类如何实现两个接口中同名同参数不同返回值的函数        Console.WriteLine(
"IA.GetA");
一个类如何实现两个接口中同名同参数不同返回值的函数        
return a+":zengyi";
一个类如何实现两个接口中同名同参数不同返回值的函数    }

一个类如何实现两个接口中同名同参数不同返回值的函数    
int IB.GetA(string a)//实现IB接口
一个类如何实现两个接口中同名同参数不同返回值的函数
    {
一个类如何实现两个接口中同名同参数不同返回值的函数        Console.WriteLine(
"IB.GetA");
一个类如何实现两个接口中同名同参数不同返回值的函数        
return 12;
一个类如何实现两个接口中同名同参数不同返回值的函数    }

一个类如何实现两个接口中同名同参数不同返回值的函数}
同样如果有更多的同名同参不同返回值的接口,也可以通过"接口名.函数名"的形式实现.

调用方式如下:

一个类如何实现两个接口中同名同参数不同返回值的函数    public static void Main()
一个类如何实现两个接口中同名同参数不同返回值的函数    
{
一个类如何实现两个接口中同名同参数不同返回值的函数        X a
=new X();
一个类如何实现两个接口中同名同参数不同返回值的函数        a.GetA(
"studyzy");
一个类如何实现两个接口中同名同参数不同返回值的函数        IB b
=a;
一个类如何实现两个接口中同名同参数不同返回值的函数        b.GetA(
"studyzy");
一个类如何实现两个接口中同名同参数不同返回值的函数    }

本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/archive/2007/08/28/872709.html,如需转载请自行联系原作者

上一篇:ATS项目更新(2) 命令行编译Studio解决方案


下一篇:使用minikube安装单机版Kubernetes