La orientación a objetos es uno de los principios fundamentales de la programación y es especialmente importante cuando se trabaja con Unity y C#. En este capítulo, discutiremos dos conceptos principales de orientación a objetos en C#: herencia y polimorfismo.
16.3.1 Herencia
La herencia es uno de los pilares de la orientación a objetos. Le permite crear una nueva clase que reutiliza, amplía y modifica el comportamiento definido en otra clase. La clase cuyos miembros se heredan se llama clase base y la clase que hereda estos miembros se llama clase derivada.
En C#, la herencia se define utilizando el símbolo ':'. Por ejemplo, si tenemos una clase base 'Animal' y queremos crear una clase derivada 'Perro', lo haríamos así:
animal de clase pública { vacío público comer() { Console.WriteLine("Comiendo..."); } } perro de clase pública: animal { corteza vacía pública () { Console.WriteLine("Ladrando..."); } }
Aquí, 'Dog' hereda el método 'Eat()' de 'Animal' y también define un nuevo método 'Bark()'. Entonces, un objeto de clase 'Perro' puede llamar a ambos métodos.
16.3.2 Polimorfismo
El polimorfismo es otro pilar de la orientación a objetos. Le permite tratar objetos de una clase derivada como objetos de su clase base, lo que puede resultar útil para escribir código más genérico y reutilizable.
El polimorfismo en C# se implementa mediante métodos virtuales en la clase base y métodos de anulación en la clase derivada. Un método virtual es un método que se puede anular en una clase derivada. Para crear un método virtual, utiliza la palabra clave 'virtual' en la declaración del método en la clase base:
animal de clase pública { vacío virtual público MakeSound() { Console.WriteLine("El animal emite un sonido"); } }
Luego, en la clase derivada puedes anular este método usando la palabra clave 'override':
perro de clase pública: animal { anulación pública anular MakeSound() { Console.WriteLine("El perro ladra"); } }
Ahora, si crea un objeto de la clase 'Perro' y llama al método 'MakeSound()', imprimirá "El perro ladra". Pero si trata este objeto como un 'Animal' y llama a 'MakeSound()', aún imprimirá "El perro ladra", porque el método ha sido anulado.
En resumen, la herencia y el polimorfismo son conceptos fundamentales de la programación orientada a objetos en C#. Le permiten escribir código más reutilizable y genérico, lo cual es especialmente útil cuando se trabaja con Unity. En el próximo capítulo, exploraremos cómo se pueden aplicar estos conceptos para crear juegos más complejos e interesantes.