亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 49
粉絲 0
評論 0
訪問量 49548
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
面向?qū)ο缶幊蹋╫op)初體驗(yàn)
超超多喝水
原創(chuàng)
827人瀏覽過

一、類

類是一個具有相同屬性和方法的集合,類成員屬性就類似于普通的php變量,類成員方法類似于普通的php函數(shù)。

如:NBA球員都是一類,有姓名、身高、球隊、球號、體重等屬性,還會跑步、投籃等方法,可以把這些屬性跟方法放到一個集合,如:

<?php
//定義一個Player類
class Player{
    //定義類的屬性
    public $name;
    public $height;
    public $team;
    protected $playNum = 23;
    private $weight;
    //定義類的方法 方法這里public標(biāo)識不是必須的 但是一般還是建議加上,不加默認(rèn)是public標(biāo)識
    public function jog()
    {
        //$this 特殊對象引用 永遠(yuǎn)代表本對象 總與當(dāng)前對象做一個綁定 屬于墻頭草 誰調(diào)用他往誰那里倒
        return "$this->name is jogging,whose playNum is $this->playNum";
    }
    public function shoot()
    {
        return "$this->name is shooting";
    }
}

?>

以上內(nèi)容中,public代表可公開訪問,protected 表示本類跟其子類可訪問,private 表示只有本類可以訪問,子類跟其他都無法訪問。

二、對象及oop的封裝性

對象是類實(shí)例化的產(chǎn)物,定義好一個類以后,就可以使用new關(guān)鍵字實(shí)例化一個類,然后可以賦給一個變量即對象引用。所謂封裝性就是使用者不必要了解內(nèi)部細(xì)節(jié)及實(shí)現(xiàn)原理,將類封裝起來,隱藏屬性或方法(隱藏實(shí)現(xiàn)的細(xì)節(jié))使其不對外可見,使用者直接使用就可以,目的是為了控制在程序中屬性的讀寫(讀取或者修改)的訪問級別,使用者只需要通過外部接口以特定的權(quán)限來使用類成員

//實(shí)例化一個對象,賦值給$j這個變量,這里就是Player這個類已經(jīng)做好了封裝,$j直接去使用
$j = new Player;
//使用->訪問符號訪問對象里的屬性或者方法,也可以后面加=給其進(jìn)行賦值,還需要注意訪問的時候去掉$符號
$j->name = "Jordan";
//方法同理
$j->jog();

三、構(gòu)造函數(shù)(構(gòu)造器)與類的簡單自動加載

構(gòu)造函數(shù)(構(gòu)造器)是一個魔術(shù)方法__construct(),除可以給public標(biāo)識的屬性初始化賦值外,還可以給protected、private標(biāo)識的屬性賦值,如最開始的文件中這些內(nèi)容可以用構(gòu)造器處理:

    //聲明一個構(gòu)造器并將所有的屬性加進(jìn)去 初始化類成員 讓類的狀態(tài)穩(wěn)定下來
    public function __construct($name,$height,$team,$playNum,$weight){
        $this->name = $name;
        $this->height = $height;
        $this->team = $team;
        $this->playNum = $playNum;
        $this->weight = $weight;
    }

然后可以將shoot()方法進(jìn)行改進(jìn),調(diào)用$weight:

public function shoot()
    {
            //嘗試將weight屬性加進(jìn)去
        return "$this->name is shooting,weighing $this->weight<br>";
    }

重新實(shí)例化對象,并進(jìn)行調(diào)用,這里還需要注意,使用__construct()以后,__construct()中有幾個參數(shù),調(diào)用這個類的時候就需要往里面?zhèn)鲙讉€參數(shù):

//重新將類進(jìn)行實(shí)例化,并將參數(shù)按__construct()的要求傳入
$jordan = new Player('Jordan','203cm','Bulk',23,'80kg');
//輸出訪問上面的shoot方法返回的內(nèi)容
echo $jordan->shoot();

在類沒有自動加載的情況下,可以用require語句調(diào)用一個類文件

如:

require 'Player.php';

但是如果有多個類需要調(diào)用的時候就會很麻煩,這個時候可以用spl_autoload_register()聲明一個匿名函數(shù)做一個簡單的自動加載,下面以類跟需要調(diào)用的文件在同一文件夾下為例:

 //使用spl_autoload_register()聲明一個匿名函數(shù),并將類的名稱作為參數(shù)傳入,這里需要注意,類名稱需要跟文件的名稱保持一致
 spl_autoload_register(function($className){
       //調(diào)用類名稱.php的文件
    require $className .'php';
 })
批改老師:PHPzPHPz

批改狀態(tài):合格

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請注明地址!如有侵權(quán)、違法,請聯(lián)系admin@php.cn舉報處理!
全部評論 文明上網(wǎng)理性發(fā)言,請遵守新聞評論服務(wù)協(xié)議
0條評論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長!
關(guān)注服務(wù)號 技術(shù)交流群
PHP中文網(wǎng)訂閱號
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)