Diferencias
Muestra las diferencias entre dos versiones de la página.
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> | ||