本例中出现了一种情况,将派生类中的实例化对象赋值给了基类,比如 PET pet = new Dog();
这种情况下如果用了上一章中new的覆盖写法,所有的对象都会按照基类的方法来运行。
而使用了override重写方法,那么所有的对象都会按照各派生类的重写方法来运行,最直观的好处就是你可以用数组来实例化所有对象,然后把方法用循环遍历出来,而不是一句一句的实例化每个对象,再一句一句的去执行每个对象的方法。
这种情况下如果用了上一章中new的覆盖写法,所有的对象都会按照基类的方法来运行。
而使用了override重写方法,那么所有的对象都会按照各派生类的重写方法来运行,最直观的好处就是你可以用数组来实例化所有对象,然后把方法用循环遍历出来,而不是一句一句的实例化每个对象,再一句一句的去执行每个对象的方法。
2017-06-14