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

简介:
假设有如下两个接口:
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,如需转载请自行联系原作者

相关文章
|
8月前
|
存储 C语言
C 语言函数完全指南:创建、调用、参数传递、返回值解析
函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
235 3
|
8月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
85 1
|
JSON JavaScript 开发工具
对象和接口-2:常见用法
本实验将介绍TypeScript中的对象类型的常见用法
对象和接口-2:常见用法
|
C#
C#中方法函数的声明和调用
C#中方法函数的声明和调用
177 0
|
Python
python调用父类方法的三种方式(super调用和父类名调用)
python调用父类方法的三种方式(super调用和父类名调用)
255 0
|
C++
同样一句代码,在类内调用,跟类外调用结果不同?
同样一句代码,在类内调用,跟类外调用结果不同?
83 0
引用调用
引用调用
119 0
|
Java
Java中父类和接口或接口和接口中出现同名属性或同名同参数方法时,如何区分(全文干货)
Java中父类和接口或接口和接口中出现同名属性或同名同参数方法时,如何区分(全文干货)
476 0
|
Kotlin
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(二)
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(二)
302 0
|
Java Kotlin
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(一)
【Kotlin】接口 ( 声明 | 实现 | 接口方法 | 接口属性 | 接口覆盖冲突 | 接口继承 )(一)
186 0

热门文章

最新文章

下一篇
开通oss服务