自由,平等,開源,分享

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            2 Posts :: 61 Stories :: 3 Comments :: 0 Trackbacks

            多態(tài)描述的是同名方法可以根據(jù)發(fā)送消息的對象傳送參數(shù)的不同,采取不同的行為方式的特性。
            面向?qū)ο笙到y(tǒng)中采用多態(tài),大大提高了程序的抽象程度和簡潔性,更重要的是,它最大限度地降低了類和程序模塊之間的耦合性,提高了類模塊的封閉性,使得它們不需了解對方的具體細(xì)節(jié),就可以很好地共同工作。
            這一點對程序的設(shè)計、開發(fā)和維護都有很大的好處。

          1 多態(tài)的概念

            多態(tài)是指一個程序中同名的不同方法共存的情況。
            這些方法同名的原因是它們的最終功能和目的都相同,但是由于在完成同一功能時,可能遇到不同的具體情況,所以需要定義含不同的具體內(nèi)容的方法,來代表多種具體實現(xiàn)形式。

            Java 提供兩種多態(tài)機制:重載與覆蓋。

          2 方法重載

            在同一類中定義了多個同名而不同內(nèi)容的成員方法時,我們稱這些方法是重載(Override)的方法。
            重載的方法主要通過形式參數(shù)列表中參數(shù)的個數(shù)、參數(shù)的數(shù)據(jù)類型和參數(shù)的順序等方面的不同來區(qū)分的。
            在編譯期間,Java 編譯器檢查每個方法所用的參數(shù)數(shù)目和類型,然后調(diào)用正確的方法。

          3 覆蓋

            由于面向?qū)ο笙到y(tǒng)中的繼承機制,子類可以繼承父類的方法。
            但是,子類的某些特征可能與從父類中繼承來的特征有所不同,為了
          體現(xiàn)子類的這種個性,Java 允許子類對父類的同名方法重新進(jìn)行定義,即在子類中定義與父類中已定義的相同名而內(nèi)容不容的方法。
            這種多態(tài)被稱為覆蓋(Overload)。

            由于覆蓋的同名方法是存在于子類對父類的關(guān)系中,所以只需在方法引用時指明引用的是父類的方法還是子類的方法,就可以很容易地把它們區(qū)分開來。

          posted on 2008-04-07 22:32 龍震 閱讀(757) 評論(0)  編輯  收藏 所屬分類: 概念,術(shù)語,基礎(chǔ),理解
          主站蜘蛛池模板: 沅江市| 宣武区| 河北区| 楚雄市| 都江堰市| 昔阳县| 瓮安县| 上林县| 新乡县| 拉孜县| 紫阳县| 拉萨市| 泗水县| 武夷山市| 鄂温| 当雄县| 秭归县| 通州市| 安国市| 威远县| 临洮县| 曲靖市| 铜梁县| 海盐县| 峨山| 宁陕县| 乌兰浩特市| 镇赉县| 阜平县| 石棉县| 侯马市| 鹤庆县| 韶关市| 富锦市| 商南县| 旅游| 盖州市| 汤原县| 昆山市| 七台河市| 漳平市|