Acceder Registrarme

POO CON C#: 003-HERENCIA


Ahora veremos el tema de herencia donde comprenderemos la manera en que podemos emplear este concepto de una forma muy adecuada presentando un caso muy común en el desarrollo de software cotidiano.

Autor: Kevin Arias (Ver todos sus post)

C# C Sharp Programación orientada a objetos POO Herencia

Fecha de publicación: 2016-09-05 12:03:10

Ayúdanos con el arduo trabajo que realizamos.
[POO CON C#] POO CON C#: 003-HERENCIA

En este ejemplo dispondremos de una clase padre y dos clases hijas donde haremos herencia del comportamiento "En este caso, de los atributos" para posteriormente explicar que de esta manera ahorramos mucho código y especificamos una forma de expandir el uso más flexible con un cambio general que le podemos dar a la clase padre para así ejecutar dicho cambio sobre todas las clases hijas que lo hereden.

Seguidamente les dejo con el código de ejemplo que se emplea en este post.

CAuditoria.cs

using System;

namespace AppFirst
{
    public class CAuditoria
    {
        public DateTime fechaRegistro { get; set; }
        public DateTime fechaActualizacion { get; set; }
    }
}

CAutomovil.cs

namespace AppFirst
{
    public class CAutomovil : CAuditoria
    {
        public string marca { get; set; }
        public string color { get; set; }
        public string modelo { get; set; }
    }
}

CPersona.cs

using System;

namespace AppFirst
{
    public class CPersona : CAuditoria
    {
        public string nombre { get; set; }
        public string apellido { get; set; }
        public string documentoIdentidad { get; set; }
        public bool sexo { get; set; }
        public DateTime fechaNacimiento { get; set; }
        public float estaturaMetros { get; set; }
        public float pesoKilogramos { get; set; }
    }
}

Program.cs

using System;
using System.Collections.Generic;

namespace AppFirst
{
    public class Program
    {
        public static void Main(string[] args)
        {
            List listaCPersona = new List();

            CPersona cPersona;

            cPersona = new CPersona();

            cPersona.nombre = "Kevin Arnold";
            cPersona.apellido = "Arias Figueroa";
            cPersona.documentoIdentidad = "77777777";
            cPersona.sexo = true;
            cPersona.fechaNacimiento = new DateTime(1991, 1, 3);
            cPersona.estaturaMetros = 1.70F;
            cPersona.pesoKilogramos = 70;
            cPersona.fechaRegistro = DateTime.Now;
            cPersona.fechaActualizacion = DateTime.Now;

            listaCPersona.Add(cPersona);

            cPersona = new CPersona();

            cPersona.nombre = "Kevin Arnold 1";
            cPersona.apellido = "Arias Figueroa 1";
            cPersona.documentoIdentidad = "77777771";
            cPersona.sexo = true;
            cPersona.fechaNacimiento = new DateTime(1991, 1, 3);
            cPersona.estaturaMetros = 1.70F;
            cPersona.pesoKilogramos = 70;
            cPersona.fechaRegistro = DateTime.Now;
            cPersona.fechaActualizacion = DateTime.Now;

            listaCPersona.Add(cPersona);

            foreach (CPersona item in listaCPersona)
            {
                Console.WriteLine(item.nombre);
                Console.WriteLine(item.apellido);
                Console.WriteLine(item.documentoIdentidad);
                Console.WriteLine(item.sexo);
                Console.WriteLine(item.fechaNacimiento);
                Console.WriteLine(item.estaturaMetros);
                Console.WriteLine(item.pesoKilogramos);
                Console.WriteLine(item.fechaRegistro);
                Console.WriteLine(item.fechaActualizacion);

                Console.WriteLine("===============================================");
            }

            CAutomovil cAutomovil;

            cAutomovil = new CAutomovil();

            cAutomovil.marca = "Toyota";
            cAutomovil.color = "Negro";
            cAutomovil.modelo = "i10";
            cAutomovil.fechaRegistro = DateTime.Now;
            cAutomovil.fechaActualizacion = DateTime.Now;

            Console.WriteLine(cAutomovil.marca);
            Console.WriteLine(cAutomovil.color);
            Console.WriteLine(cAutomovil.modelo);
            Console.WriteLine(cAutomovil.fechaRegistro);
            Console.WriteLine(cAutomovil.fechaActualizacion);

            Console.ReadLine();
        }
    }
}

Para mayor información del ejemplo, a continuación les dejo con un video que explica cada aspecto de este.




INFORMACIÓN SOBRE EL AUTOR DEL ARTÍCULO
KEVIN ARNOLD ARIAS FIGUEROA (SOFTWARE ARCHITECT - CODIDEEP E.I.R.L.): Profesional en tecnologías de la información con más de 10 años de experiencia en desarrollo de software empresarial, con amplios conocimientos en manejo de arquitecturas de software de escala vertical y horizontal, gestión de proyectos, liderazgo de equipos y dominio en modelado de procesos a gran escala.


  • Debes estar logueado para realizar comentarios