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/06 13:56]
user
cap:poo:herencia [2018/02/20 09:18] (actual)
Línea 7: Línea 7:
   * **Herencia biológica**.- Cuando una persona tiene hijos (descendencia),​ es común que los hijos adquieran rasgos físicos de los padres tales como el color de piel, el color de ojos, el color de pelo, la complexión,​ rasgos faciales como el tipo de cejas, mentón, orejas, entre otros, a esto se le llama herencia.   * **Herencia biológica**.- Cuando una persona tiene hijos (descendencia),​ es común que los hijos adquieran rasgos físicos de los padres tales como el color de piel, el color de ojos, el color de pelo, la complexión,​ rasgos faciales como el tipo de cejas, mentón, orejas, entre otros, a esto se le llama herencia.
   * **Crecimiento empresarial**.- Cuando una empresa crece, suelen dividirse departamentos creando otros departamentos nuevos para atender con una mejor especialización y atención ciertas áreas, estas departamentos productos de dichas divisiones suelen heredar algunas funciones del departamento del cual nacieron, y a su vez crear nuevas funciones para enfocar la atención para la cual fueron creadas.   * **Crecimiento empresarial**.- Cuando una empresa crece, suelen dividirse departamentos creando otros departamentos nuevos para atender con una mejor especialización y atención ciertas áreas, estas departamentos productos de dichas divisiones suelen heredar algunas funciones del departamento del cual nacieron, y a su vez crear nuevas funciones para enfocar la atención para la cual fueron creadas.
-  * ****.- .+  * **Esquema de seguridad de usuarios y grupos**.- En algunos sistemas se tienen grupos definidos, estos grupos tienen diferentes permisos sobre acciones y/o accesos en el sistema, un usuario es ingresado como miembro a uno mas grupos, el usuario puede tener definidos diferentes permisos, el usuario hereda los permisos del grupo al pertenecer a el, por lo tanto una vez que el usuario quiere ser validado, se validan tanto sus permisos como los permisos de los grupos a los que pertenece.
  
  
 ==== Aplicación en CSharp ==== ==== Aplicación en CSharp ====
  
-En el siguiente ejemplo veremos como un semaforo afecta al transito ​de una calle tomando en cuenta ​que:+En el siguiente ejemplo veremos como es aplicada la herencia en un ejemplo ​de personas y profesiones donde tendremos:​ 
 + 
 +  * Una persona la cual tiene como propiedades Edad, Sexo y Nombre, 
 +  * Un bombero el cual tiene como propiedades Escuadrón, Numero y como acción tiene Apagar Incendio. 
 +  * 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.
  
 <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>​