不同的动物出声也不同
狮吼、犬吠,据我们所知河马不出声。每一个Animal的子类都有一个MakeNoise()方法,但是它们的工作方式不同,代码也不同。当一个子类要改变继承来的某个行为的时候,这就叫做覆盖方法。
③搞明白每个Animal子类是怎样不同的实现基类的行为--或者根本不实现
每种动物都做什么别的动物不做的事儿呢?狗吃狗粮,所以狗的Eat()方法需要覆盖Aniaml.Eat()方法。河马会游泳,所以河马会有一个基类中根本不存在的Swim()方法。
想想要覆盖什么
子类改变继承来的行为就叫做覆盖。每个都需要进食。狗吃少量的肉,河马吃大量的草。那么它们的行为的代码是什么样的呢?狗和河马都要覆盖Eat()方法。河马的方法每次被调用将会消耗,大概,二十磅干草。狗的Eat()方法将会消耗动物园的食品供给中的十二盎司狗粮。