¿Cuál es el resultado de la siguiente ejecución de código?
class Animal {
public string Nombre { get; set; }
public int Edad { get; set; }
public Animal(string nombre, int edad) {
Nombre = nombre;
Edad = edad;
}
public virtual void HacerSonido() {
Console.WriteLine("El animal hace un sonido.");
}
}
class Perro : Animal {
public Perro(string nombre, int edad) : base(nombre, edad) {
}
public override void HacerSonido() {
Console.WriteLine("El perro ladra.");
}
}
class Gato : Animal {
public Gato(string nombre, int edad) : base(nombre, edad) {
}
public override void HacerSonido() {
Console.WriteLine("El gato maulla.");
}
}
class Program {
static void Main(string[] args) {
Animal animal1 = new Animal("Animal", 1);
animal1.HacerSonido();
Perro perro1 = new Perro("Perro", 2);
perro1.HacerSonido();
Gato gato1 = new Gato("Gato", 3);
gato1.HacerSonido();
}
}