【发布时间】:2019-02-05 17:12:06
【问题描述】:
LSP(Liskov 替换原则)指出: 该原则规定,在不破坏应用程序的情况下,超类的对象可以被其子类的对象替换。
例如:
Vehicle BMW = new Car();
上述语句在内存级别是如何工作的(它是如何工作的)? 创建“汽车”类是为了满足汽车具有但一般车辆缺乏的特定行为。
如何将“BMW”对象引用到车辆类?
【问题讨论】:
-
它不是
BMW对象,它是一个名为BMW的Vehicle变量。 -
Car可以是Vehicle,但Vehicle不一定是Car,例如可以是Truck。 -
没关系,用简单的英语说汽车是交通工具时感觉很自然,这很明显。
-
你能解释一下实例化类车辆变量但使用Car()的构造函数的现象吗?
标签: java object parent substitution