C# Language Heredando de una clase base


Ejemplo

Para evitar la duplicación de código, defina métodos y atributos comunes en una clase general como base:

public class Animal 
{
    public string Name { get; set; }
    // Methods and attributes common to all animals
    public void Eat(Object dinner)
    {
        // ...
    }
    public void Stare()
    {
        // ...
    }
    public void Roll()
    {
        // ...
    }
}

Ahora que tiene una clase que representa a Animal en general, puede definir una clase que describa las peculiaridades de animales específicos:

public class Cat : Animal
{
    public Cat() 
    {
        Name = "Cat";
    }
    // Methods for scratching furniture and ignoring owner
    public void Scratch(Object furniture)
    {
        // ...
    }
}

La clase Cat tiene acceso no solo a los métodos descritos en su definición explícitamente, sino también a todos los métodos definidos en la clase base general de Animal . Cualquier animal (sea o no un gato) podría comer, mirar fijamente o rodar. Sin embargo, un animal no podría rascarse, a menos que también fuera un gato. A continuación, podría definir otras clases que describen otros animales. (Como Gopher con un método para destruir jardines de flores y Sloth sin ningún método adicional).