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.


[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.

Autor: Kevin Arias

Comentarios