我有2个接口,你可以看到:
public interface i1
{
void add(news a);
}
和
public interface i2
{
void add(file f);
}
这两个接口有自己的实现。我想创建另一个名为i3的接口,它继承i1和i2并使用它们的实现?我该怎么做?
public interface i3:i1,i2
{
}
实际上我想使用i2,i1实现在i3中获取所有方法。因为i3的实现方法是相同的。
答案 0 :(得分:2)
我不理解你的问题,但这正确编译
public interface I1
{
int One { get; set; }
}
public interface I2
{
int Two { get; set; }
}
public interface I3 : I1, I2
{
int Three { get; set; }
}
// Implementation of I3 (which inherits I1 and I2)
public class Foo : I3
{
public int One { get; set; }
public int Two { get; set; }
public int Three { get; set; }
}
答案 1 :(得分:1)
接口用于声明而不是实现。相反,你应该在i3中声明你想要的任何东西并继承你的所有接口
public interface i1
{
int Add(int num1, num2);
}
public interface i2
{
int Multiply(int num1, num2);
}
public interface i3
{
int Divide(int num1, num2);
}
public class Mathematics: i1, i2, i3
{
public int Add(int num1, int num2)
{
//Your implementation
}
public int Multiply(int num1, int num2)
{
//Your implementation
}
public int Divide(int num1, int num2)
{
//Your implementation
}
}
如果按界面继承接口本身就像
那样 ICollection<T>
接口是否可以继承类继承接口。
public interface i1
{
int Add(int num1, int num2);
}
public interface i2
{
int Multiply(int num1, num2);
}
public interface i3 : i1, i2
{
int Divide(int num1, int num2);
}
public class Mathematics: i3
{
public int Add(int num1, int num2)
{
//Your implementation
}
public int Multiply(int num1, int num2)
{
//Your implementation
}
public int Divide(int num1, int num2)
{
//Your implementation
}
}
因此,当您在类中继承i3时,您将获得在i1,i2和i3中声明的所有内容。虽然继承i1将仅为i2提供类似i1的成员。