<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 241,  comments - 116,  trackbacks - 0

     在 Java 中使用一個(gè) getter 和 setter 符號,為對象的屬性提供一致的接口已成為一種標(biāo)準(zhǔn)實(shí)踐。我們在 Java 中不進(jìn)行以下操作是有原因的:

    public String fullName;

    實(shí)際上,上述代碼在類及類的實(shí)現(xiàn)者之間創(chuàng)建了一個(gè)接口(或合同),該接口不允許我們在類的實(shí)例上訪問 fullName 屬性時(shí)更改返回結(jié)果的基礎(chǔ)實(shí)現(xiàn)dota流浪劍客和水晶室女等英雄初期裝備攻略。因此,如果有人使用 Java 代碼訪問數(shù)碼 fullName 屬性:

    blah = obj.fullName;

    或者設(shè)置 fullName 屬性:

    obj.fullName = "blah";

    那么,在 Java 中沒有辦法更改獲取或設(shè)置 fullName 屬性的行為。如果類的設(shè)計(jì)者想要更改獲取或設(shè)置屬性的基礎(chǔ)行為,他們必須更改類實(shí)現(xiàn)者與類進(jìn)行交互的方式。這顯然不是理想之選,所以在 Java 中我們通常使用 get 和 set 函數(shù)隱藏屬性。Java 語言尚無 Java 屬性,所以我們使用多種方法來隱藏實(shí)現(xiàn)。因此,我們的 Java 類將是:

    private String fullName;

    public String getFullName() {
    return fullName;
    }

    public void setFullName(String fullName) {
    this.fullName = fullName;
    }

    這允許類設(shè)計(jì)者更改獲取和設(shè)置 fullName 屬性的行為,同時(shí)不更改外部接口。

    在 Flex 中,通常不必在對象上創(chuàng)建包裝 getter 和 setting 函數(shù),因?yàn)?ActionScript 支持屬性。這意味著,您通常僅可以創(chuàng)建如下的公共屬性: 

    public var fullName:String;

    如果獲取或設(shè)置 fullName 屬性的內(nèi)部實(shí)現(xiàn)需要更改,那么可以改編類,以具備 getter 和 setter 函數(shù),而無需更改類的外部接口:

    private var _fullName:String;

    public function get fullName():String {
    return _fullName;
    }

    public function set fullName(_fullName:String):void {
    this._fullName = _fullName;
    }

    對于類實(shí)現(xiàn)者來說,屬性 fullName 還可以通過常規(guī)符號獲取和設(shè)置:

    // getters
    blah = obj.fullName;
    blah = obj['fullName'];
    // setters
    obj.fullName = "blah";
    obj['fullName'] = "blah";

    獲取或設(shè)置屬性將調(diào)用 getter 和 setter 函數(shù),而不是直接訪問屬性。這支持對象接口的一致性,即便獲取和設(shè)置屬性的基礎(chǔ)實(shí)現(xiàn)發(fā)生了更改。這同樣支持屬性發(fā)生更改時(shí)類分配事件(這就是數(shù)據(jù)綁定是如何在 Flex 內(nèi)部工作的)。

    我注意到很多 Java 開發(fā)人員都對 ActionScript 類上的公共屬性非常警惕。不必!ActionScript 支持真正的屬性,因此您不再需要屬性 getter 和 setter,除非您正在進(jìn)行一些非同尋常的操作。而且,您可以切換到 getter 和 setter,而無須更改對象的接口。

    posted on 2010-11-06 15:09 墻頭草 閱讀(740) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    人人游戲網(wǎng) 軟件開發(fā)網(wǎng) 貨運(yùn)專家
    主站蜘蛛池模板: 国产免费AV片在线观看播放| 亚洲午夜精品久久久久久app| 成在线人直播免费视频| 热99re久久免费视精品频软件| 亚洲精品免费网站| 噼里啪啦电影在线观看免费高清 | 亚洲国产av无码精品| 男男黄GAY片免费网站WWW| 国内外成人免费视频| 在线视频亚洲一区| 亚洲国产小视频精品久久久三级 | 亚洲一区二区三区四区在线观看 | 中文字幕无码亚洲欧洲日韩| 大学生美女毛片免费视频| 亚洲高清毛片一区二区| 四虎国产精品免费久久影院| 乱淫片免费影院观看| 国产午夜亚洲不卡| 午夜精品一区二区三区免费视频| 亚洲国产一区国产亚洲| 亚色九九九全国免费视频| 亚洲国产综合AV在线观看| 亚洲av再在线观看| 国产真人无码作爱视频免费 | 亚洲av永久无码精品网站 | AV在线播放日韩亚洲欧| 免费一级毛片无毒不卡| 亚洲人成网站18禁止久久影院 | 亚洲精品第一国产综合境外资源 | free哆啪啪免费永久| 亚洲AV成人片无码网站| 久久亚洲国产精品123区| 99精品视频在线视频免费观看| 亚洲日韩乱码中文字幕| 国产日韩成人亚洲丁香婷婷| 免费A级毛片无码专区| 亚洲欧美国产欧美色欲| 亚洲精品乱码久久久久久久久久久久| 67pao强力打造高清免费| 老司机免费午夜精品视频| 香蕉视频在线观看亚洲|