新疆軟件開發

本站首頁 軟件開發 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網站建設
  您現在的位置: 新疆二域軟件開發公司 >> Java技術 >> 文章正文

JAVA中的抽象類型的一些概念


        對于用戶自定義的復合數據類型,需要由程序員自已定義一些方法,對該類型的實例進行所需的操作。在早期許多程序設計語言中,復合數據類型及其相關操作的代碼之間沒有特殊的聯系。比如,用戶定義日期Date類型.并定義一個方法tomorrow(),它接收一個Date類型的參數,據此推斷其后繼日是哪一天。程序中定義變量的代碼和tomorrow()方法的代碼可以是分離的。

     絕大多數程序設計語言都預定義了一些基本數據類型,并相應定義了對那些類型的實例執行的操作。比如,對整型、實型等數值類型,有加、減、乘、除等操作,對邏輯類型,有邏輯與、邏輯或、邏輯非等操作。
    有些編程語言改進了這種處理方式,允許數據類型說明和欲對該類型變量進行操作的代碼說明之間有較緊密的聯系。通常把數據類型和對其進行的操作聚集在一起構成一種抽象數據類型。嚴格地說,抽象數據類型是指基于一個邏輯類型的數據類型以及這個類型上的一組操作。每一個操作由它的輸入、輸出定義。一個抽象數據類型的定義并不涉及它的實現細節,這些實現細節對于抽象數據類型的用戶是隱藏的。
    給出了Date類型和tomorrow操作之間建立的一種聯系。
    程序:
    public ClaSS Date{
    private int day,month,year;
    Date(int i.int j.int k){
    day=i:
    month=j;
    year=k;
    }
    Date(){
    day=1;
    month=m 1;
    year=1998;
    }

    Date (Date d){
    day=d.day;
    month=d.montht
    year=d.year;
    }
    public Date tomorrow(){
    Date d=newDate(this);
    d.day++l
    if(d.day>d.daysInMonth()){  //d8yslnMonth()返回每個月中不同的天數
    d.day=1;
    d.month++;
    if(d.month>12)f
    d.month=1:
    d.year++;
    }
    }
    return d;
    }    .
    }
         在Java中把名為tomorrow的代碼段叫做方法,也可以稱為成員函數。
    在有些程序設計語言中,tomorrow()方法的定義或許會要求帶一個參數,例如:
    void tomorrow(Date d);
    像Java這種支持抽象數據類型的語言在數據和操作間建立了較嚴格的聯系,即把方法與數據封裝在一個類中。在程序中不是把方法描述為對數據的操作,而是把數據看作是它知道如何修改自己,然后要求數據對它自己執行操作。相應的語句如下:
    Data d=new Date(20,11,1998);//已初始化的date對象
    d.tomorrow();
    這種寫法表明,數據自己執行操作,tomorrow()方法作用于變量d。要訪問Date類的域,可使用點操作符“.”:
    d.day
    它的意思是“d所指的Date對象中的day域”。類似地,d.tomorrow()是指“d所指的Date對象中的tomorrow()方法調用”,epx,-J"d對象進行tomorrow操作。
    把方法看作是數據的特性,而不把數據與方法分開,這種思想是建立面向對象系統過程中的重要步驟。

作者:未知 | 文章來源:zxbc | 更新時間:2008-4-20 22:36:11

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    JAVA開發的6個實踐的例子
    java語言開發程序中的幾個例子大家看看
    了解java開發語言在軟件開發中的幾個誤區
    如何才能使用Java實現內部領域的特定語言
    Java開發學習小心使用Date以及Time類
    sun最近修補了一部分java的安全補丁
    Java程序員應該了解那些開源協議
    java性能優化的一些見解
    解析c#語言和java語言最相似的地方
    GUI JAVA應用程序是怎樣做出來的?
    軟件技術
    · 開發語言
    · Java技術
    · .Net技術
    · 數據庫開發
    最新文章  
    ·j2se 嵌入式腳本抓取引擎
    ·JAVA開發的6個實踐的例子
    ·JBuilder7 / Weblogic7開發
    ·JAVA中的抽象類型的一些概
    ·java語言開發程序中的幾個
    ·了解java開發語言在軟件開
    ·如何才能使用Java實現內部
    ·Java開發學習小心使用Date
    ·Java程序員應該了解那些開
    ·java性能優化的一些見解
    ·介紹JDK5.0一些collection
    ·基礎學習:java中使用存儲
    ·解析c#語言和java語言最相
    ·Java語言學習:jAVA中 的多
    ·Java是不是應該增加新特性
    關于我們 | 軟件開發 | 下載試用 | 客服中心 | 聯系我們 | 友情鏈接 | 網站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發網 www.www94299.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯大廈A-5C 郵編:830000
     
    亚洲日本va午夜中文字幕久久