本例中出现了一种情况,将派生类中的实例化对象赋值给了基类,比如 PET pet = new Dog();
这种情况下如果用了上一章中new的覆盖写法,所有的对象都会按照基类的方法来运行。
而使用了override重写方法,那么所有的对象都会按照各派生类的重写方法来运行,最直观的好处就是你可以用数组来实例化所有对象,然后把方法用循环遍历出来,而不是一句一句的实例化每个对象,再一句一句的去执行每个对象的方法。
这种情况下如果用了上一章中new的覆盖写法,所有的对象都会按照基类的方法来运行。
而使用了override重写方法,那么所有的对象都会按照各派生类的重写方法来运行,最直观的好处就是你可以用数组来实例化所有对象,然后把方法用循环遍历出来,而不是一句一句的实例化每个对象,再一句一句的去执行每个对象的方法。
2017-05-01
在派生类中使用构造函数为字段赋值时,若有相同的对象如名字年龄等,可以在基类中写一个构造函数将其包括在内,就可以省去这些字段在派生类中的赋值,直接base基类中的即可,有不同的字段要赋值只需在派生类的构造函数中再加上就可以了