Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
cap:poo:herencia [2017/04/07 06:56]
user
cap:poo:herencia [2018/02/20 09:18] (actual)
Línea 18: Línea 18:
   * Un doctor el cual tiene como propiedad Cédula y como acción tienen Consultar.   * Un doctor el cual tiene como propiedad Cédula y como acción tienen Consultar.
     * Un cirujano es una especialidad del doctor el cual tiene como propiedad el tipo de cirujano que es y como acción Operar.     * Un cirujano es una especialidad del doctor el cual tiene como propiedad el tipo de cirujano que es y como acción Operar.
- 
-Veremos como cada uno de los vehículos mencionados anteriormente hereda algunas propiedades y se extiende para adecuarse a las necesidades. 
  
 <file csharp concepto_herencia.cs>​ <file csharp concepto_herencia.cs>​
 +using System;
 +
 +namespace Capacitacion.Herencia
 +{
 +    public class Persona
 +    {
 +        public int Edad { get; set; }
 +        public char Sexo { get; set; }
 +        public string Nombre { get; set; }
 +
 +        public override string ToString()
 +        {
 +            var sb = new System.Text.StringBuilder();​
 +            sb.AppendLine($"​Nombre:​ {Nombre}"​);​
 +            sb.AppendLine($"​Sexo: ​  ​{Sexo}"​);​
 +            sb.AppendLine($"​Edad: ​  ​{Edad}"​);​
 +            return sb.ToString();​
 +        }
 +
 +    }
 +
 +    public class Bombero: Persona
 +    {
 +        public Bombero(Persona persona)
 +        {
 +            this.Nombre = persona.Nombre;​
 +            this.Sexo = persona.Sexo;​
 +            this.Edad = persona.Edad;​
 +        }
 +        public string Escuadron { get; set; }
 +        public int Numero { get; set; }
 +        public void ApagarIncendio()
 +        {
 +            Console.WriteLine("​Apagando Incendio"​);​
 +        }
 +
 +        public override string ToString()
 +        {
 +            var sb = new System.Text.StringBuilder();​
 +            sb.Append(base.ToString());​
 +            sb.AppendLine("​Profesion: ​ Bombero"​);​
 +            sb.AppendLine($"​Escuadron:​ {Escuadron}"​);​
 +            sb.AppendLine($"​Numero: ​   {Numero}"​);​
 +            return sb.ToString();​
 +        }
 +    }
 +
 +    public class Doctor : Persona
 +    {
 +        public Doctor(Persona persona)
 +        {
 +            this.Nombre = persona.Nombre;​
 +            this.Sexo = persona.Sexo;​
 +            this.Edad = persona.Edad;​
 +        }
 +        public string Cedula { get; set; }
 +        public void Consultar()
 +        {
 +            Console.WriteLine("​Consultando al paciente"​);​
 +        }
 +        public override string ToString()
 +        {
 +            var sb = new System.Text.StringBuilder();​
 +            sb.Append(base.ToString());​
 +            sb.AppendLine("​Profesion: ​ Doctor"​);​
 +            sb.AppendLine($"​Cedula: ​   {Cedula}"​);​
 +            return sb.ToString();​
 +        }
 +    }
 +
 +    public class Cirujano : Doctor
 +    {
 +        public Cirujano(Doctor doctor) : base(doctor)
 +        {
 +            this.Cedula = doctor.Cedula;​
 +        }
 +        public string Tipo { get; set; }
 +        public void Operar()
 +        {
 +            Console.WriteLine("​Operando al paciente"​);​
 +        }
 +        public override string ToString()
 +        {
 +            var sb = new System.Text.StringBuilder();​
 +            sb.Append(base.ToString());​
 +            sb.AppendLine($"​Especialidad:​ {Tipo}"​);​
 +            return sb.ToString();​
 +        }
 +    }
 +
 +    public class Program
 +    {
 +        public static void Main(string[] args)
 +        {
 +            var persona = new Persona() { Edad = 19, Nombre = "​Cesar",​ Sexo = '​H'​ };
 +            Console.WriteLine(persona);​
 +
 +            var doctor = new Doctor(persona);​
 +            doctor.Cedula = "​ABC1233";​
 +            Console.Write(doctor);​
 +            doctor.Consultar();​
 +            Console.WriteLine();​
 +
 +            var cirujano = new Cirujano(doctor);​
 +            cirujano.Tipo = "​Ginecologia";​
 +            Console.Write(cirujano);​
 +            cirujano.Consultar();​
 +            cirujano.Operar();​
 +            Console.WriteLine();​
 +
 +            var bombero = new Bombero(persona);​
 +            bombero.Escuadron = "​L501";​
 +            bombero.Numero = 669;
 +            Console.Write(bombero);​
 +            bombero.ApagarIncendio();​
 +
 +            Console.ReadLine();​
 +        }
 +    }
 +}
  
 </​file>​ </​file>​