里氏轉換 之前匆匆忙忙學過里氏轉換,但是又忘了,今天寫下博客來記錄吧。 概念:1 可以將子類對象(派生類)賦值給父類(基類)對象 父類:Person person=new Child(); 例子: 上圖就是一個簡單例子:將字元串數組ABC通過分隔符“|”進行分割,結果如黑視窗所示。 重點:請看紅筆劃 ...
里氏轉換
之前匆匆忙忙學過里氏轉換,但是又忘了,今天寫下博客來記錄吧。
概念:1 可以將子類對象(派生類)賦值給父類(基類)對象
父類:Person person=new Child();
例子:
上圖就是一個簡單例子:將字元串數組ABC通過分隔符“|”進行分割,結果如黑視窗所示。
重點:請看紅筆劃得地方,join("分隔符","params object[]value"),本來join方法里的參數是object類型的數組,但是這裡卻改寫為string[]{...}
原因:object是父類,而string是子類,可以將子類直接賦值給父類。
2 如果父類里放的是子類對象,那麼就可以將父類對象強制轉化為子類對象。
Person person=new Child();
Child child=(Child)person;
例子:
這個例子主要就是定義了父類person ,子類student,teacher, person類型的數組,裡面存放了子類對象(student,teacher),和本類對象(person)。
當遍曆數組,想輸出各個對象的方法。請看紅筆劃的地方,將父類對象(sj[i])強轉為子類,然後輸出子類的方法。這就驗證了里氏轉換的第二個原則。
這篇文章的內容也是看了視頻所寫,旨在記錄學習的過程,如有錯誤,還望指正,謝謝。