我剛剛在(Java)面向對象編程的講座中遇到了Liskov替換原則和鑄造。我明白了原則規定,那就是,我可以初始化一個子類與超類的類型:Liskov替代原則和鑄造
SuperClass superClass = new SubClass();
我首先考慮的認爲這樣的操作的目的。爲什麼我不能像往常一樣聲明子類(如下所示)?
SubClass subClass = new SubClass();
以後這個權利,我就死在鑄造,具體如下:
SuperClass superClass = new SubClass();
SubClass subClass = (SubClass)superClass;
同樣,我很難理解這一切的地步。
任何人都可以提供任何澄清這些程序的目的嗎?