using System;
public interface Interfaz
{
void Metodo();
}
public class Superclase : Interfaz
{
public void Metodo() // implementación explícita del método de la interfaz
{
Console.WriteLine("Invocación de Método en Superclase.");
}
}
public class Subclase : Superclase, Interfaz
{
public new void Metodo()
{
Console.WriteLine("Invocación de Método en Subclase.");
}
public static void Main()
{
Subclase sc = new Subclase();
sc.Metodo(); // Salida 1: Invocación en Método en Subclase
((Interfaz)sc).Metodo(); // Salida 2: Invocación en Método en Subclase
((Superclase)sc).Metodo(); // Salida 3: Invocación en Método en Superclase
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGludGVyZmFjZSBJbnRlcmZhegp7CiAgICB2b2lkIE1ldG9kbygpOwp9CgpwdWJsaWMgY2xhc3MgU3VwZXJjbGFzZSA6IEludGVyZmF6CnsKICAgIHB1YmxpYyB2b2lkIE1ldG9kbygpICAgIC8vIGltcGxlbWVudGFjacOzbiBleHBsw61jaXRhIGRlbCBtw6l0b2RvIGRlIGxhIGludGVyZmF6CiAgICB7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkludm9jYWNpw7NuIGRlIE3DqXRvZG8gZW4gU3VwZXJjbGFzZS4iKTsKICAgIH0KfQoKcHVibGljIGNsYXNzIFN1YmNsYXNlIDogU3VwZXJjbGFzZSwgSW50ZXJmYXoKewogICAgcHVibGljIG5ldyB2b2lkIE1ldG9kbygpCiAgICB7CiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoIkludm9jYWNpw7NuIGRlIE3DqXRvZG8gZW4gU3ViY2xhc2UuIik7CiAgICB9CiAgICAKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCSAgICBTdWJjbGFzZSBzYyA9IG5ldyBTdWJjbGFzZSgpOwoJICAgIHNjLk1ldG9kbygpOyAgICAgICAgICAgICAgIC8vIFNhbGlkYSAxOiBJbnZvY2FjacOzbiBlbiBNw6l0b2RvIGVuIFN1YmNsYXNlCgkgICAgKChJbnRlcmZheilzYykuTWV0b2RvKCk7ICAgLy8gU2FsaWRhIDI6IEludm9jYWNpw7NuIGVuIE3DqXRvZG8gZW4gU3ViY2xhc2UKCSAgICAoKFN1cGVyY2xhc2Upc2MpLk1ldG9kbygpOyAvLyBTYWxpZGEgMzogSW52b2NhY2nDs24gZW4gTcOpdG9kbyBlbiBTdXBlcmNsYXNlCgl9Cn0=