Honestamente, estoy buscando buenos ejemplos aquí de razones para usar interfaces en lugar de abstracto. Y la razón principal por la que puedo ver es que son planos públicos sin opinión para las clases a seguir. Pero con ellos agregando implementaciones predeterminadas, eso ya no es cierto. Cada vez es más difícil distinguir las interfaces de las clases abstractas. Genuinamente, ¿cuál es el punto de usar una interfaz sobre una clase abstracta en c # 11? Es solo una clase abstracta más lenta.
Solución del problema
Incluso encuentro que las clases abstractas y las interfaces son demasiado similares. Prefiero usar clases abstractas, ya que sus métodos se pueden definir, hasta que ya menos que se use el concepto de herencia múltiple.
Como en el caso de las clases abstractas, no podemos heredar de varias clases abstractas, mientras que con las interfaces, puede heredar tantas interfaces como desee.
Te dejaré entender esto a través de un parche de código.
interface IFirstInterface
{
void myMethod();
}
interface ISecondInterface
{
void myOtherMethod();
}
class Democlass: IFirstInterface, ISecondInterface
{
public void myMethod()
{
System.Console.WriteLine("Some text..");
}
public void myOtherMethod()
{
System.Console.WriteLine("Some other text..");
}
}
class Program
{
static void Main(string[] args)
{
Democlass myObj = new Democlass();
myObj.myMethod();
myObj.myOtherMethod();
}
}
Déjame saber si encuentras esto poco claro.
No hay comentarios.:
Publicar un comentario