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

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

相关文章
|
12月前
无参函数和有参函数的定义使用方法及其调用
无参函数和有参函数的定义使用方法及其调用
376 0
|
5月前
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
59 1
|
11月前
|
编译器 C++
46 C++ - 非自动继承的函数
46 C++ - 非自动继承的函数
34 0
|
11月前
|
C++
45 C++ - 继承中同名成员的处理方法
45 C++ - 继承中同名成员的处理方法
44 0
|
5月前
|
存储 Serverless Python
定义函数的方法
在编程中,函数是一个非常重要的概念。函数是一段可以重复使用的代码,它接受输入(称为参数),执行一系列操作,然后可能返回一些输出。通过定义函数,我们可以提高代码的可读性、可维护性和复用性。本文将介绍如何定义函数,并附上相应的代码示例。
51 1
|
5月前
|
存储 C#
C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
方法是一段代码,只有在调用时才会运行。 您可以将数据(称为参数)传递给方法。 方法用于执行某些操作,也被称为函数。 为什么使用方法?为了重用代码:定义一次代码,然后多次使用。
67 0
|
JSON JavaScript 开发工具
对象和接口-2:常见用法
本实验将介绍TypeScript中的对象类型的常见用法
127 0
对象和接口-2:常见用法
方法的重载和方法覆盖的区别
方法的重载和方法覆盖的区别
58 0
|
C#
C#中方法函数的声明和调用
C#中方法函数的声明和调用
158 0
|
Python
python调用父类方法的三种方式(super调用和父类名调用)
python调用父类方法的三种方式(super调用和父类名调用)
224 0
下一篇
无影云桌面