public interface A
{
void FirstDemo();
void SecondDemo();
}
public interface B
{
void FirstDemo();
void SecondDemo();
}
public class Demo : A, B
{
void A.FirstDemo()
{
Console.WriteLine("This is a function of first method of interface A");
}
void A.SecondDemo()
{
Console.WriteLine("This is a function of second method of interface A");
}
void B.FirstDemo()
{
Console.WriteLine("This is a function of first method of interface B");
}
void B.SecondDemo()
{
Console.WriteLine("This is a function of second method of interface B");
}
}
static void Main(string[] args)
{
A obj = new Demo();
obj.SecondDemo();
B obj1 = new Demo();
obj1.FirstDemo();
}
该程序正常运行。但我的困惑是,如果我在 Demo 类中只实现一个接口,那么我可以在该接口的每个方法中给出一个访问修饰符。但是,当我尝试在同一个类(在本例中:Demo 类)中实现包含相同方法的两个接口(在本例中:A 和 B)时,我不允许放置公共访问修饰符。为什么会发生?
注意:如果我使用单个接口并在Demo类中实现它,那么我可以对接口中声明的所有方法使用访问修饰符。那么具有相同方法的多个接口有什么问题呢?