C# Language Ereditare da una classe base


Esempio

Per evitare la duplicazione del codice, definire i metodi e gli attributi comuni in una classe generale come 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()
    {
        // ...
    }
}

Ora che hai una classe che rappresenta Animal in generale, puoi definire una classe che descrive le peculiarità di specifici animali:

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

La classe Cat accede non solo ai metodi descritti nella sua definizione in modo esplicito, ma anche a tutti i metodi definiti nella classe generale Animal base. Qualsiasi animale (che fosse o meno un gatto) poteva mangiare, stare in piedi o rotolare. Un animale non sarebbe in grado di grattare, tuttavia, a meno che non fosse anche un gatto. Potresti quindi definire altre classi che descrivono altri animali. (Come Gopher con un metodo per distruggere i giardini fioriti e la bradipo senza alcun metodo aggiuntivo.)