Diferencia entre Clases Abstractas e Interfaces - Antes y Después de C# 8

preview_player
Показать описание


------

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.
Рекомендации по теме
Комментарии
Автор

Excelente explicación. Mas claro imposible.

andresamortegui
Автор

Excelente explicación, clara y al grano 👌🏼

JaimeleonM
Автор

Gracias por todo el curso, aprendí cosas nuevas y reforcé otras.

tronic
Автор

q bueno q aun mantienes este curso actulizado gracias porfe...

jheanpiertony
Автор

La mejor explicación que encontré. Felicitaciones. Super super claro!

dobelem
Автор

Gracias por el curso!.
Pude recordar cosas y aprender nuevas cosas. Saludos!

wil
Автор

Gracias por el Curso!, lo acabo de terminar, seguiré con el de MVC.

bernie_boss_p
Автор

Magnífica explicación. Gracias Felipe.

FPontiDev
Автор

Hay mas videos de ejemplos de abstracciones?

teseract
Автор

Increíble manera para explicar Felicidades. Termine este curso voy con el de MVC. Una consulta estoy un poco desactualizado en Visual Studio 2019 ya viene con la versión de MVC 5?

FiliAntonio
Автор

Excelente, muchas gracias por el dato. Tengo una pregunta. En .net framework también se puede usar c#8 ?

Gracias!

undesarrollador
Автор

Hola profesor quisiera saber si este es el ultimo video o va a continuar con el curso

andressolanogarcia
Автор

*StringBuilder* aun no esto claro de lo que es, ni como usarlo

batistaperezpena
Автор

otra diferencia que agregaria sería, solo puedes heredar de una clase abstracta, mientras que puedes implementar N numero de interfaces

jesusserratoaguilar