熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

何謂“上溯造型”?

2013-11-23 17:54:07  來源: Javascript 

  之所以叫作這個名字除了有一定的歷史原因外也是由於在傳統意義上類繼承圖的畫法是根位於最頂部再逐漸向下擴展(當然可根據自己的習慣用任何方法描繪這種圖)因素Windjava的繼承圖就象下面這個樣子
  

  由於造型的方向是從衍生類到基礎類箭頭朝上所以通常把它叫作上溯造型即Upcasting上溯造型肯定是安全的因為我們是從一個更特殊的類型到一個更常規的類型換言之衍生類是基礎類的一個超集它可以包含比基礎類更多的方法但它至少包含了基礎類的方法進行上溯造型的時候類接口可能出現的唯一一個問題是它可能丟失方法而不是贏得這些方法這便是在沒有任何明確的造型或者其他特殊標注的情況下編譯器為什麼允許上溯造型的原因所在
  
  也可以執行下溯造型但這時會面臨第章要詳細講述的一種困境
  
   再論合成與繼承
  
  在面向對象的程序設計中創建和使用代碼最可能采取的一種做法是將數據和方法統一封裝到一個類裡並且使用那個類的對象有些時候需通過合成技術用現成的類來構造新類而繼承是最少見的一種做法因此盡管繼承在學習OOP的過程中得到了大量的強調但並不意味著應該盡可能地到處使用它相反使用它時要特別慎重只有在清楚知道繼承在所有方法中最有效的前提下才可考慮它為判斷自己到底應該選用合成還是繼承一個最簡單的辦法就是考慮是否需要從新類上溯造型回基礎類若必須上溯就需要繼承但如果不需要上溯造型就應提醒自己防止繼承的濫用在下一章裡(多形性)會向大家介紹必須進行上溯造型的一種場合但只要記住經常問自己我真的需要上溯造型嗎對於合成還是繼承的選擇就不應該是個太大的問題
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25316.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.