您的位置:首页 > 编程语言 > C#

Head First C# 中文版 图文皆译 第六章 继承 page221

2009-03-02 13:32 393 查看
每个子类都扩展它的基类

你并不会被局限于一个子类继承来的方法...你已经知道这一点了!毕竟你已经自己构建类很久了。向一个类添加继承就是把已经创建好的类拿过来,并通过添加属性,字段,方法来扩展它。所以如果你要给狗添加一个Fetch()方法,这是很普通的。这不会继承或者覆盖任何东西--只有狗才有这个方法,河马,狼,犬科动物,动物等等类都不会得到这个方法。



C#总是会调用最具体的方法

如果你让狗对象转悠(Roam()方法),只有一个方法可以做到--就是Animal中的版本。那要是要让狗出声音呢?调用的是哪个MakeNoise()方法呢?要搞明白这一点并不难。Dog类中的方法告诉你狗是怎么做这件事儿的。如果这个方法是在Canine中的话,那就是告诉你所有的犬科动物都是这样做这件事儿的。如果它在Animal中的话,那就是描述了一个普遍性的、对于所有动物都适用的行为。所以如果你让狗出声音的话,C#会先去Dog类中找适用于狗的这种行为。如果Dog类没有这种行为,就去Canine中找,然后再去Animal中找。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# 扩展