文章列表
很多人在初次接触设计模式的时候,最大的疑惑莫过于碰到这样的句子:(父类Animal和子类Dog)
Animal a2 = new Dog();
这是什么玩意儿?究竟有什么用途,我直接用子类对象不就完了?
我们就来解释一下:
--这是什么玩意儿?
re:这种用法叫做“父类引用指向子类对象”(跟绕口令似的),或者叫“父类指针指向子类对象”,指的是定义一个父类的引用,而它实际指向的是子类创建的对象。功能上相当于子类的“向上转型”,或者“上溯对象”,
上面的语句也可以写成:
Animal a2 = new Animal();
Dog dog = new Dog();
a2 = dog;
...