天天看點

深克隆、toString方法與多态

深克隆:

 深克隆是把克隆對象的引用對象也一并克隆出來。

<a href="https://s5.51cto.com/wyfs02/M01/08/D4/wKiom1nnkCeQhV0WAAn_PeRqShI046.png" target="_blank"></a>

  克隆出來的對象也有自己的引用對象,淺克隆則是克隆出來的對象共用一個引用。

  深克隆與淺克隆差別:

<a href="https://s2.51cto.com/wyfs02/M00/08/D4/wKiom1nnkCrQAlkTAAWmELSUOvk963.png" target="_blank"></a>

深克隆代碼示例:

<a href="https://s2.51cto.com/wyfs02/M02/A7/83/wKioL1nnjXzD3T-HAA1iqLJCbto202.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/08/D4/wKiom1nnkDuTEK5tAA8LuLIV-Wk651.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/A7/83/wKioL1nnjYrxedFeAAi1pX1JuWo627.png" target="_blank"></a>

toString方法:

  該方法用于傳回一個字元串類型,字元串與任何資料類型相加都隻是連接配接,而不是參與運算。列印字元串的時候就會自動調用toString方法,對象與String類型相關的操作都會自動調用toString方法。例如:

<a href="https://s4.51cto.com/wyfs02/M00/A7/83/wKioL1nnjY3g_e6AAAPDPf-Bdzk053.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/08/D4/wKiom1nnkEfDIu_DAAe6Ft74kSo554.png" target="_blank"></a>

多态:

  多态就是讓子類對象可以裝扮成父類,并且不會被發現調用的是子類對象以為調用的是父類,但是子類還是子類,父類還是父類

  它的優點是可以令程式更具有可更新、可擴充性,多态是以面向父類作為程式設計思想利用父類作為架構模闆,具體功能的則由子類去實作,是以程式需要進行更改、替換、更新等功能時,在子類裡編寫或增删即可,不會影響到父類,更友善了日後程式的維護和擴充編寫。

  由此可知多态,是讓程式更具有長遠發展性的一種代碼編寫方式。

代碼示例:

<a href="https://s1.51cto.com/wyfs02/M02/08/D4/wKiom1nnkE7Ca4OKAAvcVOgKpdU897.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/A7/83/wKioL1nnjZ_BTai_AAti4XbvgPo734.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/08/D4/wKiom1nnkFzC4KpQAAwhtPe3J_0540.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/A7/83/wKioL1nnja2Q_9LaAAvcVGO8Af4694.png" target="_blank"></a>

運作類:

<a href="https://s2.51cto.com/wyfs02/M00/08/D4/wKiom1nnkGqxGC_yAA0l-CuI7O0412.png" target="_blank"></a>

本文轉自 ZeroOne01 51CTO部落格,原文連結:http://blog.51cto.com/zero01/1974052,如需轉載請自行聯系原作者

繼續閱讀