成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

面向?qū)ο蟮奶匦裕悍庋b性

freecode / 1119人閱讀

摘要:一封裝的特性對象的屬性或方法加上修飾符盡可能隱藏內(nèi)部細節(jié)訪問控制特性修飾符種類二修飾符私有性封裝,外部不能調(diào)用,內(nèi)部其他成員可以,用于為其他方法鋪路的方法,不露出接口。

一、封裝的特性

1.對象的屬性或方法加上修飾符
2.盡可能隱藏內(nèi)部細節(jié)
3.訪問控制
4.PHP5特性
5.修飾符種類:public/private/protected/var

二、修飾符

1.private:
    a.私有性封裝,外部不能調(diào)用,內(nèi)部其他成員可以,用于為其他方法鋪路的方法,不露出接口。
    b.構(gòu)造、析構(gòu)方法一般不封裝。
    c.屬性私有化是最常見的,私有化后,可用相應的方法將改變屬性的行為暴露出來,并限制在可控范圍內(nèi)
    
    class Person {
        private $name="wo";
        function setName($str){
            if($str==="ni")
            $this->name=$str;
        }
        function getName(){
            echo $this->name;
        }
    };

三、魔術(shù)方法

新版本不能對魔術(shù)方法進行私有封裝,魔術(shù)方法對private/protected屬性有效
1.__get($pro);
    直接訪問私有屬性時自動調(diào)用,屬性名傳給$pro,如下:
    class Person {
        private $name="wo";
        private $age=11;
        private $sex="nan";
        function __get($pro){
            return $pro;
        }    
    };
    $p1=new Person();
    echo $p1->name;
    echo $p1->age;
    echo $p1->sex;
    //都是############
    class Person {
        private $name="wo";
        private $age=11;
        private $sex="nan";
        function __get($pro){
            return $this->$pro;
        }    
    };
    $p1=new Person();
    echo $p1->name;
    echo $p1->age;
    echo $p1->sex;
    //wo11nan
2.__set($name,$value);
    直接設(shè)置私有屬性時自動調(diào)用,賦予屬性名$name為$value值,如下:
    class Person {
        private $name="wo";
        private $age=11;
        private $sex="nan";
        function __get($pro){
            return $this->$pro;
        }    
        function __set($pro,$value){
            //限制外部修改條件
            if($pro==="name"){
                if($value==="nii"){
                    $this->$pro=$value;
                }
            }else{
                return false;
            }
        }
    };
    $p1=new Person();
    $p1->name="nii";
    echo $p1->name;
    //nii
    
3.__isset($name);
    類內(nèi)部添加__isset()方法時,私有屬性不能用isset判斷,添加后,外部使用isset如遇私有屬性,自動調(diào)用對象內(nèi)的__isset();,參數(shù)是屬性名,如下:
    class Person {
        private $name="wo";
        private $age=11;
        private $sex="nan";
        function __get($pro){
            return $this->$pro;
        }    
        function __set($pro,$value){
            if($pro==="name"){
                if($value==="nii"){
                    $this->$pro=$value;
                }
            }else{
                return false;
            }    
        }
        function __isset($pro){
            return $pro;
        }
    };
    $p1=new Person();
    if(isset($p1->name)){
        echo "屬性存在";
    }else{
        echo "屬性不存在";
    }
    //屬性存在
    
4.__unset();
    同上   

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/25555.html

相關(guān)文章

  • 夯實Java:從面向對象說起

    摘要:面向?qū)ο笈c面向過程的區(qū)別要知道,二者并不是非此即彼,而是相輔相成的。而面向過程,則在微觀上對對象內(nèi)部進行具體的實現(xiàn)。面向?qū)ο蟮娜筇匦哉f到面向?qū)ο?,就不得不說其三大特性封裝繼承和多態(tài)。封裝封裝是面向?qū)ο笞罨A(chǔ)的特性。 作者:伯特出處:github.com/ruicbAndroid/LoulanPlan聲明:本文出自伯特的《LoulanPlan》,轉(zhuǎn)載務(wù)必注明作者及出處。 剛學習 Jav...

    hearaway 評論0 收藏0
  • 面向對象概念學習和思考

    摘要:摘要本文章關(guān)注點是理解面向?qū)ο蟾拍?,從抽象的角度上去理解對象,重點包括理解對象的作用,以及理解面向?qū)ο蟮娜筇卣鞣庋b,繼承,多態(tài)。特性多態(tài)不同對象以自己的方式響應相同的消息的能力叫做多態(tài)。 摘要:本文章關(guān)注點是理解面向?qū)ο蟾拍睿瑥某橄蟮慕嵌壬先ダ斫鈱ο?,重點包括理解對象的作用,以及理解面向?qū)ο蟮娜筇卣鳎ǚ庋b,繼承,多態(tài))。本文重點關(guān)注的是理解概念。 在理解面向?qū)ο笾?,首先回答幾個問...

    jzman 評論0 收藏0
  • Java-001-面向對象

    摘要:單一職責原則可以看做是低耦合高內(nèi)聚在面向?qū)ο笤瓌t上的引申,將職責定義為引起變化的原因,以提高內(nèi)聚性來減少引起變化的原因。抽象的穩(wěn)定性決定了系統(tǒng)的穩(wěn)定性,因為抽象是不變的,依賴于抽象是面向?qū)ο笤O(shè)計的精髓,也是依賴倒置原則的核心。 Java-面向?qū)ο?什么是面過程 把題分解成一個一個步驟,每個步驟用函數(shù)實現(xiàn),依次調(diào)用即可。就是說,在進行面向過程 編程的時候,不需要考慮那么多,上來先定義一個...

    gekylin 評論0 收藏0
  • [零基礎(chǔ)學python]關(guān)于類初步認識

    摘要:反對者在某些領(lǐng)域?qū)Υ擞枰苑裾J。下面再引用一段來自維基百科中關(guān)于的歷史。類的更嚴格的定義是由某種特定的元數(shù)據(jù)所組成的內(nèi)聚的包。類還可以有運行時表示形式元對象,它為操作與類相關(guān)的元數(shù)據(jù)提供了運行時支持。 在開始部分,請看官非常非常耐心地閱讀下面幾個枯燥的術(shù)語解釋,本來這不符合本教程的風格,但是,請看官諒解,因為列位將來一定要閱讀枯燥的東西的。這些枯燥的屬于解釋,均來自維基百科。 1、問題...

    王巖威 評論0 收藏0
  • SegmentFault 技術(shù)周刊 Vol.32 - 七夕將至,你對象”還好嗎?

    摘要:很多情況下,通常一個人類,即創(chuàng)建了一個具體的對象。對象就是數(shù)據(jù),對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...

    李昌杰 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<