1 子類物件可以直接賦值給父類物件;
2 子類物件可以呼叫父類中的成員,但是父類物件永遠只能呼叫自己的成員;
3 如果父類物件中裝的是子類物件,可以將這個父類物件強制轉化為子類物件;
is和asdo都可以進行型別轉換
is:如果轉換成功返回true,否則返回false;
bool ok = ct is tiger;
console.writeline(ok);
as:如果轉換成功返回對應的物件,否則返回null;
if (ct as cat == null)
console.writeline("false");
else console.writeline("true");
物件導向原則之黎克特制替換原則
一.簡稱 英文全稱是liskov substitution principle,縮寫是lsp 二.定義 如果對每乙個型別為s的物件o1,都有型別為t的物件o2,使得以t定義的所有程式p在所有的物件o1都替換成o2時,程式p的行為沒有發生變化,那麼型別s是型別t的子型別。簡單的說就是所有引用基類的地方...
物件導向設計原則 黎克特制替換原則
黎克特制替換原則lsp liskov substitution principle 主要闡述了有關繼承的一些原則。子類可以擴充套件父類的功能,但不能改變父類原有的功能,如果重寫了父類的方法,就會降低整個繼承體系的復用性,如果違背了黎克特制替換原則,就很有可能出現執行錯誤 這裡以乙個鳥的例子來闡述 首...
物件導向設計原則 黎克特制替換原則
黎克特制替換原則是任何基類出現的地方,子類一定可以替換它 是建立在基於抽象 多型 繼承的基礎復用的基石,該原則能夠保證系統具有良好的拓展性,同時實現基於多型的抽象機制,能夠減少 冗餘。黎克特制替換原則要求我們在編碼時使用基類或介面去定義物件變數,使用時可以由具體實現物件進行賦值,實現變化的多樣性,完...