首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java RTTI 學習總結:正確使用時機與濫用風險

     編輯:Java 相關知識

RTTI 可根據匿名基類參考查詢型別資訊。但新手極易誤用——多型方法往往已足夠。習慣程序化編程者易將代碼組織成 switch 陳述式,用 RTTI 實現,損失多型技術在開發維護中的核心價值。Java 要求:盡可能用多型,極特殊情況才用 RTTI。

何時適合用 RTTI?

  1. 無法控制基類定義:基類來自庫或他人控制,缺少所需方法。可繼承新類型加入方法,其他地方用 RTTI 偵測特定型別並呼叫特殊方法。不破壞多型與擴展性(新增型別無需修改 switch)。
  2. 避免基類介面汙染:在基類加入特性可能導致所有衍生類獲得無意義「雞肋」(如 Instrument 加 ClearSpitValve() 讓打擊樂器也有音栓)。RTTI 讓方法置入特定類別(Wind)。但更好的方案常是將 prepareInstrument() 置入基類——初學者常看不見這點而濫用 RTTI。
  3. 效能優化:大量多型代碼中某物件效能有問題,可用 RTTI 找出型別並寫專用代碼改進。

核心原則:多型優先,RTTI 為輔,不可取代多型。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved