複数のinterfaceにはまったく同じ署名方法がある場合がありますが、C#はJavaよりも合理的に処理されているようです.
詳細
Interface A:
Interface B:
これで実現できます.
実装後,AとBインタフェースは同じメソッド体を共有する.
ほほほ、c#はこのようにすることができます:
Interface A:
package snippet;
public interface IAPaint {
public void paint();
}
Interface B:
package snippet;
public interface IBPaint {
public void paint();
}
これで実現できます.
package snippet;
public class ABImpl implements IAPaint, IBPaint {
public void paint() {
System.out.println("Paint");
}
public static void main(String[] args) {
IAPaint implA = new ABImpl();
implA.paint();
IBPaint implB = new ABImpl();
implB.paint();
}
}
実装後,AとBインタフェースは同じメソッド体を共有する.
ほほほ、c#はこのようにすることができます:
public class SampleClass : IControl, ISurface
{
void IControl.Paint()
{
System.Console.WriteLine("IControl.Paint");
}
void ISurface.Paint()
{
System.Console.WriteLine("ISurface.Paint");
}
}