亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        對象軟件復用機制的研究

        2018-08-13 11:46:30李頌
        教育·學習 2018年1期
        關鍵詞:接口繼承

        李頌

        摘要:軟件復用是軟件開發(fā)中非常重要的思想,掌握軟件復用思想和面向對象語言的實現(xiàn)機制,對設計合理的軟件體系結構具有很強的指導意義。繼承和合成是面向對象最常用的兩種復用機制,本文針對當前比較流行的面向對象語言Java,論述各自的實現(xiàn)機制。

        關鍵詞:繼承;接口;軟件復用

        1 引言

        1977年出現(xiàn)的結構化設計方法學曾給軟件產業(yè)帶來了巨大進步,在一定程度上緩解了軟件危機,但是由于結構化方法是基于功能分析和分解,軟件結構依賴于系統(tǒng)功能,這對一些功能非常明確的而且不會輕易改變的軟件系統(tǒng)是非常有效的,但是現(xiàn)實中存在大量系統(tǒng),其功能往往是模糊易變的,而功能的變化常會引起軟件結構的整體修改,結構化設計方法學無法承擔快速高效的開發(fā)這類復雜軟件系統(tǒng)的重任。20世紀80年代逐漸成熟的面向對象方法學,使軟件軟件的分析、設計和編程等方面都有了全新的認識。其用面向對象的概念來描述現(xiàn)實世界,“對象”的概念是將數(shù)據(jù)和對數(shù)據(jù)操作的方法封裝在一起,從而提高了模塊的聚合度,降低了模塊之間的耦合度,更大程度上的支持軟件復用,從而十分有效地降低了軟件的復雜度。面向對象技術和結構化技術相比,最大的優(yōu)勢在于它實現(xiàn)了最大程度上的軟件復用[1]。軟件復用綜合了面向對象技術中最重要的概念,本文將全面分析面向對象技術是如何實現(xiàn)軟件復用機制的。

        2 面向對象方法學概述

        Peter Coad和Edward Yourdon提出了下列等式[2]:

        面向對象=對象(objects)+類(classes)+繼承(inheritance)+消息通訊(communication with messages)

        只有同時使用了對象、類、繼承和消息通訊才是真正面向對象的方法。

        (1) 對象與封裝

        對象是系統(tǒng)中用來描述客觀事物的實體,它是構成系統(tǒng)的基本單位。對象由三個要素組成:對象標識、屬性和方法。對象標識,是對象的名字,供系統(tǒng)內部唯一識別;屬性,也稱狀態(tài)和數(shù)據(jù),是用來描述對象的靜態(tài)特征;方法,也稱操作、行為或服務,用來描述系統(tǒng)的動態(tài)特征。對象的重要設計原則:封裝。封裝具有兩層含義:首先,對象是其全部屬性和全部服務緊密結合而形成的不可分隔的整體;其次,對象是一個不透明的黑盒子,表示對象狀態(tài)的數(shù)據(jù)和對象服務的實現(xiàn)被封裝在黑盒子里,對象本身對外部的訪問者具有一定的權限控制,同時訪問者只需知道被訪問者向外提供的接口的形式,無須知道它的數(shù)據(jù)結構細節(jié)和實現(xiàn)操作的算法。

        (2) 類

        類是具有相同屬性和服務的一個或一組對象的抽象定義。一個具體的對象稱為類的一個實例,通過new 關鍵字創(chuàng)建類的實例。

        (3) 繼承與多態(tài)[3]

        繼承,其定義為:特殊類(或稱子類、派生類)的對象擁有一般類(或稱父類、基類)非私用屬性和方法。繼承是提高軟件開發(fā)效率的重要原因之一,同時也面向對象中實現(xiàn)軟件復用的重要機制。

        多態(tài),一個對象從外面被訪問時,根據(jù)外部環(huán)境的訪問形式的變化,對象內部能夠提供相應的多種狀態(tài)(服務)。多態(tài)性不僅可以增加了面向對象軟件系統(tǒng)的靈活性,進一步減少冗余,而且顯著提高了軟件的可重復性和可擴充性。

        (4) 消息通訊

        如果把每個對象看作是能夠向外部提供服務的個體,那么對象之間的的聯(lián)系就是通過消息通訊聯(lián)系在一起的,面向對象系統(tǒng)的運作就是系統(tǒng)內部各個對象之間消息通信實現(xiàn)的。消息就是對象給其他對象發(fā)出的一個服務請求,它包括:提供服務的對象標識、消息名稱(如方法名稱)、輸入信息(如參數(shù))和回答信息(如方法調用后返回的數(shù)據(jù))。在這里消息的接收者不僅僅是向往提供某種服務,更重要的是它接受信息是為利用接收到的信息激活內部的操作。消息通訊是面向對象方法學中的一個重要原則,它與對象的封裝密不可分。封裝使對象成為各司其職、互不干擾的獨立單元;消息通訊則為它們提供了惟一合法的動態(tài)聯(lián)系途徑,使它們的行為能夠互相配合,構成一個有機的整體。

        3 面向對象軟件復用機制

        3.1 繼承

        在Java中繼承有兩套不同的實現(xiàn)機制--接口和子類實例化[4]。在繼承體系中父類對子類是一般和特殊的關系。子類共享父類的非私有屬性和方法,同時擁有和父類不一樣的屬性和方法。在設計系統(tǒng)時,對具有繼承體系的問題域,只要有良好的繼承結構,軟件的開發(fā)是高效的。繼承按照服務實現(xiàn)的程度,可分為代碼繼承和行為繼承,當父類中提供了方法(服務)的實現(xiàn)時,子類對父類的繼承(使用extends關鍵字)成為代碼繼承,如果父類只是提供方法的定義,而沒有提供實現(xiàn)時,子類的繼承稱為行為繼承。一般代碼繼承選擇繼承機制,行為繼承時選擇接口繼承(使用implements)。如果父類中是抽象類,那么子類可以同時兼?zhèn)浯a繼承和行為繼承(使用 extends 關鍵字)。繼承之所以實現(xiàn)了軟件復用的功能,最根本上是它認為,現(xiàn)實世界中,屬于同一個問題域的實體,共享相同的概念。在用類來描述這些實體的時候,繼承機制把共享的部分抽象出來作為父類,其他特殊的問題域用子類來描述。當從別的類繼承了某種行為之后,就不需要重寫這種行為的代碼。

        3.2 合成

        合成是基于這樣的一個概念,一個問題域直接由其他一個或多個問題域提供的功能參與組成

        3.3 合成和繼承的綜合應用

        通常繼承和合成同時應用于類的設計,最近出現(xiàn)的一些新的軟件復用的新形式[4]:動態(tài)合成、內部類的繼承和未命名類。

        (1) 動態(tài)合成

        合成和繼承相比有一個優(yōu)點,就是可以推遲綁定時間。對于繼承來說,子類與父類的連接是在編譯時就已確定下來,以后不能在改變。而對于合成,構建類和原類的連接是在運行時刻才進行,因此這種連接比較弱,在運行時刻還可以改變,合成的這種特性叫動態(tài)合成。為了說明這個概念,設想模擬青蛙行為的類Frog。青蛙行為在整個生命周期中假設就有兩種行為,一個是成長,一個是隨著年齡的增長游泳本領的成長。但是在青蛙的行為在整個生命周期中是變化的。針對這類動態(tài)問題,我們一般的解決方式是轉換為靜態(tài)處理,也就是按照年齡分段處理,每個年齡段呈現(xiàn)出靜態(tài)的行為。

        (2) 內部類的繼承

        在類的內部定義類,并且內部類繼承其他類,這個時候,內部類融合了繼承和合成兩方面的特性。

        內部類part1 和part2是model類的私有組件,這些組件保存在model實例中,其對象的生命周期在model類對象的生命周期內。

        (3) 未命名類

        這里以對按鈕(button)的事件監(jiān)聽為例說明,當我們從鍵盤上按下某個按鈕這一事件時,應用程序里需要把這一按鈕事件注冊到事件監(jiān)聽器里,當事件監(jiān)聽器監(jiān)聽到這一事件發(fā)生時,做出相應的動作。

        定義button事件監(jiān)聽器。

        在這里使用類定義表達式把類的定義和實例的創(chuàng)建合二為一,另外它省去了給類起名字。因為整個類的定義被封裝在一個表達式里,所以可讀性差。

        4 總結

        面向對象技術最大限度的提高了軟件的復用型,這非常有利于縮短軟件系統(tǒng)開發(fā)的周期,同時也使大大提高了軟件的可維護性。本文從綜合了面向對象軟件復用最常用的兩種技術,繼承和合成,從面向對象語言Java的角度分析了他們各自實現(xiàn)的具體實現(xiàn)形式。

        參考文獻

        [1] 李增智,王宇,李剛等.面向對象可復用軟件設計思想分析[J].小型微型計算機系統(tǒng),2003.5,24 (5):1~5.

        [2] 飛思考試中心.軟件設計師考試考點分析與真題詳解[M].北京:電子工業(yè)出版社,2004,169~174.

        [3] 吳東曉.Java程序設計基礎[M].北京:清華大學出版社,2002,84~110.

        [4] [美]Timothly Budd 著.面向對象JAVA編程思想.北京:清華大學出版社, 2002,141~154.

        猜你喜歡
        接口繼承
        現(xiàn)場采購代表與總部及現(xiàn)場各部門的接口關系
        某電站工程設計管理與施工、質量控制接口關系研究
        脫硝數(shù)據(jù)傳輸系統(tǒng)遠程無線監(jiān)控技術的研發(fā)與應用
        中文信息(2016年10期)2016-12-12 12:56:55
        西門子SPPA—T3000在委內瑞拉燃機電廠中的應用與接口
        中國市場(2016年32期)2016-12-06 11:16:14
        魯迅小說對傳統(tǒng)文學藝術的繼承和創(chuàng)新
        科技資訊(2016年19期)2016-11-15 10:30:55
        淺談杜審言、杜甫的祖孫關系:推崇、繼承、發(fā)展
        人間(2016年28期)2016-11-10 21:48:10
        淺論紫砂藝術的繼承與創(chuàng)新
        論電影《暮光之城》的哥特文化
        電影文學(2016年16期)2016-10-22 10:53:56
        評析張學英訴蔣倫芳遺產繼承案
        居家環(huán)境監(jiān)測系統(tǒng)研究
        AV永久天堂网| 免费看又色又爽又黄的国产软件| 曰本大码熟中文字幕| 日本精品a在线观看| 台湾佬中文偷拍亚洲综合| 国产成人国产三级国产精品| 精品国产三级a∨在线| 亚洲男人第一av网站| 在线偷窥制服另类| 日本不卡视频一区二区三区| 亚洲熟妇丰满多毛xxxx| 国产a三级久久精品| 国产精品一区二区AV不卡| 女同恋性吃奶舌吻完整版| 久久久免费精品re6| 国产精品99久久精品爆乳| 日本韩国黄色三级三级| 91精品国产一区国产二区久久| 亚洲欧美日韩国产精品一区二区| 高清在线亚洲中文精品视频| 日本大胆人体亚裔一区二区| 色呦呦九九七七国产精品| 无码少妇一区二区浪潮av| 中文字幕精品一二三区| av黄色大片久久免费| 国产精品久久久亚洲| 久久精品国产自清天天线| 日韩人妻无码精品系列专区无遮| 久久免费亚洲免费视频| 久久久久久曰本av免费免费| 97视频在线播放| 人妖与人妖免费黄色片| 暖暖 免费 高清 日本 在线| 成年女人毛片免费观看97| 激情综合网缴情五月天| 白浆国产精品一区二区| 中文字幕无码日韩专区免费| 99久久亚洲国产高清观看 | av 日韩 人妻 黑人 综合 无码 | 久久国产欧美日韩高清专区| 懂色av一区二区三区网久久|