程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中的裡氏替換原則,

C#中的裡氏替換原則,

編輯:C#入門知識

C#中的裡氏替換原則,


裡氏轉換原則 
子類可以賦值給父類對象 
父類對象可以強制轉化為對應的子類對象 


裡氏替換原則直觀理解就是"子類是父類",反過來就說不通了. 
就像男人是人對的,但人是男人就不對了. 
這樣明白了吧. 


在面向對象思想中可知,派生類擁有基類向下公開的所有特征,它是基類的一個特例。 
當派生類對象賦於基類類型時,將出現以下情況:派生類的數據結構依次對應於基類的數據結構。而派生類擁有的自己的數據將不可見。 

當基類的對象試圖轉換為派生類型時,將出現基類對象的數據無法依次填充完派生類的所有數據結構。這就造成了它將無法完成派生類定義的功能。編譯器將會提示甚至報錯。 
這就是派生類能勝任基類功能,而基類卻無法完全勝任派生類功能的原因。 
強制轉換屬於 基類到派生的過程:那是因為 設計人員知道:該基類對象的數據結構完全可以填充完派生類的結構。否則,將出現強轉錯誤。一般最好避免使用強轉! 

還有,子類能夠出現在任何父類對象出現的地方不是完全正確的,父類有時也不會將自己的一些成員公開給子類。
C#示例代碼:http://www.eyesourcecode.com/f/CSharp/1

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved