Hola @pioj, tan util son las interfaces como las clases padres ... aunque no se pueden comparar puesto que cada una cubre una necesidad y son cosas muy diferentes (salvo por el hecho de que en ambos casos se utilizan para la herencia, aunque las interfaces no sean herencia propiamente dicha)
La ventaja de definir una interfaz frente a una clase padre, entre otras muchas es que una interfaz no defines funciones ni propiedades, solo las declaras. Puedes hacer jerarquias mucho mas complejas al mismo tiempo que de manera mas sencilla, utilizando interfaces que no mediante clases padres ... y en muchos casos solo podras hacerlo mediante interfaces, por no mencionar que no todos los lenguajes de programacion permite heredar de multiples clases como es el caso de C#. El uso de las interfaces permite un codigo mucho mas facil de leer, facilita el trabajo a la hora de actualizar y lo hace mucho mas escalable.
Hola @ytinU, en las interfaces solo declaras propiedades o metodos que necesiten esten en las clases que contengan esa interfaz ... la propiedad (que no variable) public int health { get; } la he puesto solo porque he cogido como ejemplo el codigo utilizado anteriormente y aparecian tanto health como name, pero esta claro que si no la necesitas pues no hay que ponerla.
La ventaja de definir una interfaz frente a una clase padre, entre otras muchas es que una interfaz no defines funciones ni propiedades, solo las declaras. Puedes hacer jerarquias mucho mas complejas al mismo tiempo que de manera mas sencilla, utilizando interfaces que no mediante clases padres ... y en muchos casos solo podras hacerlo mediante interfaces, por no mencionar que no todos los lenguajes de programacion permite heredar de multiples clases como es el caso de C#. El uso de las interfaces permite un codigo mucho mas facil de leer, facilita el trabajo a la hora de actualizar y lo hace mucho mas escalable.
Hola @ytinU, en las interfaces solo declaras propiedades o metodos que necesiten esten en las clases que contengan esa interfaz ... la propiedad (que no variable) public int health { get; } la he puesto solo porque he cogido como ejemplo el codigo utilizado anteriormente y aparecian tanto health como name, pero esta claro que si no la necesitas pues no hay que ponerla.
?