Herencia en C#

using System;

public class Parent
{
    string parentString;

    public Parent()
    {
        Console.WriteLine("Parent Constructor");
    }

    public Parent(string msg)
    {
        parentString = msg;
        Console.WriteLine(parentString);
    }

    public void print()
    {
        Console.WriteLine("Im a parent class");
    }

}

public class Child : Parent
{

    ///
<summary> /// En este constructor se llama explicitamente al constructor que coincida con la
 /// lista de parametros del padre
 ///
 /// Si no se usara : base("From derived") se llamaria al constructor por defecto en la
 /// clase padre, Parent()
 /// </summary>
    public Child() : base("From derived")
    {
        Console.WriteLine("Child Constructor");
    }

    ///
<summary> /// new puede ser usado como modificador en la declaracion de una funcion
 /// en este caso padre e hijo tienen una misma funcion, print(), pero con new
 /// se usara solo la del hijo, ocultando la del padre
 ///
 /// esto es util especialmente cuando se quiere una implementacion distinta a
 /// una funcion existente en la clase padre
 ///
 /// se puede decir que es un override como en java
 /// </summary>
    public new void print()
    {
        //Llama explicitamente al metodo print() del padre
        base.print();

        Console.WriteLine("Im a child class");
    }

    public static void Main()
    {
        Child child = new Child();

        child.print();

        //Otra forma de llamar explicitamente a los miembros de la clase padre
        //es por medio de un cast
        ((Parent)child).print();
    }

}

Fuente:
C# Station

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s