国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


PHP8的數(shù)據(jù)封裝(數(shù)據(jù)隱藏)-PHP8知識(shí)詳解

導(dǎo)讀:面向?qū)ο蟮奶攸c(diǎn)之一就是封裝性,也就是數(shù)據(jù)封裝,也被稱為數(shù)據(jù)隱藏。 php8通過限制訪問權(quán)限來實(shí)現(xiàn)數(shù)據(jù)的封裝性,這里用到了public、private、protected、static和final幾個(gè)關(guān)鍵字。下面來介紹前3個(gè)。

封裝性,也就是數(shù)據(jù)封裝,也被稱為數(shù)據(jù)隱藏。

PHP8通過限制訪問權(quán)限來實(shí)現(xiàn)數(shù)據(jù)的封裝性,這里用到了public、private、protected、staticfinal幾個(gè)關(guān)鍵字。下面來介紹前3個(gè)。 


1.、public(公共成員)

public 為公有類型,在程序的任何位置都可以被調(diào)用。常用的調(diào)用方法有以下三種。

(1)、在類內(nèi)通過self::屬性名(或方法名)調(diào)用自己類的public 方法或?qū)傩浴?/p>

(2)、在子類中通過parent::方法名調(diào)用父類方法。

(3)、在實(shí)例中通過$obj->屬性名(或方法名)調(diào)用public類型的方法或?qū)傩浴?/p>

2.、private (私有成員)

private 為私有類型,表示只能在類的內(nèi)部進(jìn)行訪問和使用。

  定義 private 類型的變量,參考代碼:                                                                                                              

<?php
    class Fruit {
        private $name="水果";                          //設(shè)置私有變量
        public function setName($name){                     //設(shè)置共有變量的方法
            $this -> name =$name;
         }
         public function getName(){                         //讀取私有變量
            return $this -> name;
         }
    }
    class MyFruit extends Fruit{}                         //繼承父類Fruit
    $myfruit = new MyFruit ();
    $myfruit->setName("葡萄");                 //操作私有變量正確方法
    echo $myfruit->getName();
    echo Fruit::$name;                                 //操作私有變量錯(cuò)誤方法
?>

以上代碼在php8中的運(yùn)行結(jié)果如下:

葡萄
Fatal error: Uncaught Error: Cannot access private property Fruit::$name in D:\phpenv\www\localhost\index.php:15 Stack trace: #0 {main} thrown in D:\phpEnv\www\localhost\index.php on line 15

3、protected(保護(hù)成員)

protected 為受保護(hù)類型,常用的調(diào)用方法有以下三種。

(1)、在類內(nèi)通過self::屬性名(或方法名)調(diào)用自己類的public 方法或?qū)傩浴?/p>

(2)、在子類中通過parent::方法名調(diào)用父類方法。

(3)、在實(shí)例中通過$obj->屬性名(或方法名)調(diào)用public類型的方法或?qū)傩浴?/p>

private關(guān)鍵字可以將數(shù)據(jù)完全隱藏起來,除了在本類,其他地方都不可以調(diào)用,子類也不可以調(diào)用。對(duì)于有些變量希望子類能夠調(diào)用,但對(duì)另外的類來說,還要做到封裝。這時(shí),就可以使用protected關(guān)鍵字。

定義protected類型的變量,參考代碼:

<?php
    class Fruit {
        protected $name="葡萄";
    }
    class MyFruit extends Fruit{
        public function display(){
            echo "在子類中直接調(diào)用保護(hù)變量:". $this->name."<br />";
        }
    }
    $myfruit=new MyFruit ();
    $myfruit->display();
    echo "其他地方調(diào)用包含變量就會(huì)報(bào)錯(cuò):";
    $myfruit->$name="洗衣機(jī)";
?>

以上代碼在PHP8的運(yùn)行結(jié)果為:

在子類中直接調(diào)用保護(hù)變量:葡萄
其他地方調(diào)用包含變量就會(huì)報(bào)錯(cuò):
Warning: Undefined variable $name in D:\phpEnv\www\localhost\index.php on line 13

到此為止,PHP8的數(shù)據(jù)封裝(數(shù)據(jù)隱藏)的3個(gè)知識(shí)點(diǎn):public(公共成員).、private (私有成員)、protected(保護(hù)成員)的相關(guān)知識(shí)就講解完畢了。



本文地址:http://003188.cn/php8deshujufengzhuang.html
碼字不易,打個(gè)賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

面向?qū)ο缶幊痰膸讉€(gè)問題總結(jié)-PHP8知識(shí)詳解

導(dǎo)讀:面向?qū)ο缶幊痰膸讉€(gè)問題總結(jié):1、類和對(duì)象的關(guān)系?2、方法與函數(shù)的區(qū)別?3、靜態(tài)變量越多越好嗎?4、抽象類和類有何不同?

2023-10-07  分類:PHP學(xué)堂  瀏覽:872次


PHP8的數(shù)據(jù)封裝(數(shù)據(jù)隱藏)-PHP8知識(shí)詳解

導(dǎo)讀:面向?qū)ο蟮奶攸c(diǎn)之一就是封裝性,也就是數(shù)據(jù)封裝,也被稱為數(shù)據(jù)隱藏。 php8通過限制訪問權(quán)限來實(shí)現(xiàn)數(shù)據(jù)的封裝性,這里用到了public、private、protected、static和final幾個(gè)關(guān)鍵字。下面來介紹前3個(gè)。

2023-09-27  分類:PHP學(xué)堂  瀏覽:775次


認(rèn)識(shí)面向?qū)ο?PHP8知識(shí)詳解

導(dǎo)讀:面向?qū)ο缶幊?,也叫面向?qū)ο蟪绦蛟O(shè)計(jì),是在面向過程程序設(shè)計(jì)的基礎(chǔ)上發(fā)展而來的,它比面向過程編程具有更強(qiáng)的靈活性和擴(kuò)展性。 它用類、對(duì)象、關(guān)系、屬性等一系列東西來提高編程的效率,其主要的特性是可封裝性、可繼承性和多態(tài)性。

2023-09-16  分類:PHP學(xué)堂  瀏覽:720次


站長(zhǎng)在線Python教程:python中面向?qū)ο笙嚓P(guān)概述詳解

導(dǎo)讀:歡迎你來到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《python中面向?qū)ο笙嚓P(guān)概述詳解》。本文的主要內(nèi)容有:面向?qū)ο笫鞘裁?、面向?qū)ο笾械膶?duì)象是什么、Python中的類是什么、面向?qū)ο缶幊痰奶攸c(diǎn)有哪些?

2022-02-14  分類:Python學(xué)堂  瀏覽:1617次