點擊查看:2015計算機等級考試二級Java入門教程章節(jié)匯總
點擊查看:2015計算機等級考試二級Java入門教程第六章匯總
6.4 多態(tài)性
類的繼承不僅僅只是在定義新類的時候以你已經(jīng)定義約一個類作為基礎實現(xiàn)類的重用,而且它還利用一種被稱作多態(tài)性(polymorphism)的技術為你的應用程序設計增加巨大的靈活性。那么什么是多態(tài)性呢?
多態(tài)性這個詞的意思有設定幾種不同格式或者形狀的能力。在程序設計階段,它指的是一個給定類型的單一變量可被用來引用不司類型對象,并旦可自動地調(diào)用變量所引用的對象類型的特定方法。這使得對一個單一方法的調(diào)用將根據(jù)應用這個調(diào)用的對象類型得到不同的操作行為。
要獲得多態(tài)性的行為需要滿足幾項要求,因此,讓我們一一介紹它們。首先,多態(tài)性對派生類對象起作用,它依賴于類層次內(nèi)的一個新功能。直到現(xiàn)在,我們總是使用一個給定類型的變量引用同種類型的對象。在這點上,派生類引入了一些新的靈活性。當然,我們可以在一個派生類類型的變量中存儲一個派生類對象的引用,而且我們也可以在任何一個直接的或者間接的基類變量中存儲它。例如,如同前面的示意圖所示,一個Dog類型的對象變量可以用來存儲一個從Dog派生出來的任何類型的對象引用。如果這里的Dog類是從Animal類中派生出來的,則一個Animal.類型的變量也可以用來引用Spaniel、Chihuahua或者Collie對象。
當調(diào)用一個方法時,要得到多態(tài)性的操作,這個方法就必須是一個基類的成員,并且還要包含在派生類中。如果這個方法不是基類的一個成員,你就不能使用基類變量調(diào)用派生類對象的方法。在派生類中的方法定義必須與基類中的方法具有相同的署名和相同的返回類型,并且必須有一個限制不會更加嚴格的訪問修飾符。事實上,如果你在派生類中用與基類中的方法的相同署名定義一個方法,任何試圖說明一個不同的返回類型,或者是一個更加嚴格的訪問修飾符,都會被編譯器作為一個錯誤標記。
相關推薦:
2015計算機等級考試二級Java入門教程章節(jié)匯總
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |