A orientação a objetos é um dos princípios fundamentais da programação, e é especialmente importante quando se trabalha com o Unity e C#. Neste capítulo, vamos discutir dois conceitos principais da orientação a objetos em C#: herança e polimorfismo.
16.3.1 Herança
A herança é um dos pilares da orientação a objetos. Ela permite que você crie uma nova classe que reutiliza, estende e modifica o comportamento que é definido em outra classe. A classe cujos membros são herdados é chamada de classe base, e a classe que herda esses membros é chamada de classe derivada.
Em C#, a herança é definida usando o símbolo ':'. Por exemplo, se tivermos uma classe base 'Animal' e quisermos criar uma classe derivada 'Dog', faríamos assim:
public class Animal { public void Eat() { Console.WriteLine("Eating..."); } } public class Dog : Animal { public void Bark() { Console.WriteLine("Barking..."); } }
Aqui, 'Dog' herda o método 'Eat()' de 'Animal', e também define um novo método 'Bark()'. Então, um objeto da classe 'Dog' pode chamar ambos os métodos.
16.3.2 Polimorfismo
O polimorfismo é outro pilar da orientação a objetos. Ele permite que você trate objetos de uma classe derivada como objetos de sua classe base, o que pode ser útil para escrever código mais genérico e reutilizável.
O polimorfismo em C# é implementado através de métodos virtuais na classe base e métodos override na classe derivada. Um método virtual é um método que pode ser sobrescrito em uma classe derivada. Para criar um método virtual, você usa a palavra-chave 'virtual' na declaração do método na classe base:
public class Animal { public virtual void MakeSound() { Console.WriteLine("The animal makes a sound"); } }
Então, na classe derivada, você pode sobrescrever esse método usando a palavra-chave 'override':
public class Dog : Animal { public override void MakeSound() { Console.WriteLine("The dog barks"); } }
Agora, se você criar um objeto da classe 'Dog' e chamar o método 'MakeSound()', ele vai imprimir "The dog barks". Mas se você tratar esse objeto como um 'Animal' e chamar 'MakeSound()', ele ainda vai imprimir "The dog barks", porque o método foi sobrescrito.
Em resumo, a herança e o polimorfismo são conceitos fundamentais da programação orientada a objetos em C#. Eles permitem que você escreva código mais reutilizável e genérico, o que é especialmente útil quando se trabalha com o Unity. No próximo capítulo, vamos explorar como esses conceitos podem ser aplicados para criar jogos mais complexos e interessantes.