- Curso
- POO
- Herencia de objetos
Herencia de objetos
Última actualización:
26/08/2020
⁃
Dificultad:
Intermedio
Crea un programa en C# que solicite tres nombres de personas al usuario y los almacene en un array de objetos de tipo Persona. Habrán dos personas de tipo Estudiante y una persona de tipo Profesor.
Para ello crea una clase Persona que tenga una propiedad Nombre de tipo string
, un constructor que reciba el nombre como parámetro y sobrescriba el método ToString().
Después cree dos clases más que hereden de la clase Persona, se llamarán Estudiante y Profesor. La clase Estudiante tiene un método Estudiar que escribe por consola que el estudiante está estudiando. La clase Profesor tendrá un método Explicar que escribe en consola que el profesor está explicando. Recuerde crear además dos constructores en las clases hijas que llamen al constructor padre de la clase Persona.
Finalice el programa leyendo las personas (el profesor y los alumnos) y ejecute los métodos de Explicar y Estudiar.
Entrada
Juan
Sara
Carlos
Salida
Explicar
Estudiar
Estudiar
Solución
using System;
public class HerenciaObjetos
{
public static void Main(string[] args)
{
int total = 3;
Persona[] personas = new Persona[total];
for (int i = 0; i < total; i++)
{
if (i == 0)
{
personas[i] = new Profesor(Console.ReadLine());
}
else
{
personas[i] = new Estudiante(Console.ReadLine());
}
}
for (int i = 0; i < total; i++)
{
if (i == 0)
{
((Profesor)personas[i]).Explicar();
}
else
{
((Estudiante)personas[i]).Estudiar();
}
}
}
public class Persona
{
protected string Nombre { get; set; }
public Persona(string nombre)
{
Nombre = nombre;
}
public override string ToString()
{
return "¡Hola! Mi nombre es " + Nombre;
}
~Persona()
{
Nombre = string.Empty;
}
}
public class Profesor : Persona
{
public Profesor(string nombre) : base(nombre)
{
Nombre = nombre;
}
public void Explicar()
{
Console.WriteLine("Explicar");
}
}
public class Estudiante : Persona
{
public Estudiante(string nombre) : base(nombre)
{
Nombre = nombre;
}
public void Estudiar()
{
Console.WriteLine("Estudiar");
}
}
}