filmov
tv
Diferencia entre Clases Abstractas e Interfaces - Antes y Después de C# 8
Показать описание
------
Las clases abstractas son clases las cuales no pueden ser instanciadas. Su función es servir de clase base a otras clases. En una clase abstracta podemos colocar funcionalidad la cual las clases derivadas pueden utilizar. Además, en una clase abstracta podemos colocar métodos abstractos. Los métodos abstractos son aquellos que no tienen implementación, sino que se requiere que las clases derivadas sobrescriban dichos métodos, agregando así una implementación. Y claro, una clase abstracta, por ser clase, puede guardar estado, es decir, puede guardar información utilizando campos o propiedades.
En cambio, una interfaz es como un contrato el cual contiene signaturas sin implementaciones, es decir, contiene métodos declarados, sin cuerpo. Una clase que implementa la interfaz debe implementar todos estos métodos. Nada limita a la clase a tener más métodos, sin embargo, mínimo, debe de implementar los métodos que se encuentran declarados en la interfaz.
Existe cierto parecido entre las clases abstractas y las interfaces: Ninguna de las dos puede ser instanciadas, y ambas ofrecen la posibilidad de obligar a otras clases a implementar métodos. Las clases abstractas e interfaces son abstracciones contra las cuales podemos programar, para aprovechar el polimorfismo y hacer nuestro software más flexible.
Entonces, ¿Cuál es la diferencia entre clases abstractas e interfaces? La respuesta a esta pregunta se divide en dos partes: Antes y después de C# 8.
Комментарии