继承自基类

为避免重复代码,请在通用类中定义常用方法和属性作为基础:

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()
    {
        // ...
    }
}

既然你有一个代表 Animal 的类,你可以定义一个描述特定动物特性的类:

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

Cat 类不仅可以显式地访问其定义中描述的方法,还可以访问通用 Animal 基类中定义的所有方法。任何动物(无论是否是猫)都可以吃,凝视​​或滚动。然而,除非它也是猫,否则动物将无法抓挠。然后,你可以定义描述其他动物的其他类。 (例如 Gopher 用破坏花园的方法和 Sloth,没有额外的方法。)