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

搜索
博主信息
博文 70
粉絲 4
評(píng)論 5
訪問(wèn)量 122221
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP:OOP基礎(chǔ)/類(對(duì)象抽象化的結(jié)果)與對(duì)象 (類實(shí)例化結(jié)果)/構(gòu)造方法/對(duì)象成員之間的內(nèi)部訪問(wèn)/類的自動(dòng)加載/靜態(tài)成員的訪問(wèn) 類的引用/類的繼承 擴(kuò)展 父類方法
JiaJieChen
原創(chuàng)
1156人瀏覽過(guò)

OOP基礎(chǔ)/類(對(duì)象抽象化的結(jié)果)與對(duì)象 (類實(shí)例化結(jié)果)/構(gòu)造方法/對(duì)象成員之間的內(nèi)部訪問(wèn)/類的自動(dòng)加載/靜態(tài)成員的訪問(wèn) 類的引用/類的繼承 擴(kuò)展 父類方法

一. 類(對(duì)象抽象化的結(jié)果)與對(duì)象 (類實(shí)例化結(jié)果)

屬性含義
class類聲明
new類實(shí)例化
public公開(kāi)成員,隨處可見(jiàn)
protected受保護(hù)成員,僅在當(dāng)前類或子類中可見(jiàn)
private私有成員, 僅在當(dāng)前類可見(jiàn)
spl_autoload_register()自動(dòng)加載器
extends類的擴(kuò)展
static聲明類的靜態(tài)成員
$this實(shí)例引用
self類的引用
trait類功能橫向擴(kuò)展
__construct構(gòu)造器 1.對(duì)對(duì)象的公共屬性進(jìn)行初始化賦值 2. 記錄當(dāng)前類被實(shí)例化的次數(shù)

對(duì)象

類的概念

物以類聚,把具有相似特性的對(duì)象對(duì)壘到一個(gè)類中,類定義了這些相似對(duì)象擁有的相同的屬性和方法
類是相似對(duì)象的描述,成為類的定義,是該類對(duì)象的藍(lán)圖或者原型
類的對(duì)象稱為一個(gè)類的實(shí)例(Instance)
類的屬性和方法統(tǒng)稱為類成員

類的實(shí)例化

類的實(shí)例化:通過(guò)類定義創(chuàng)建一個(gè)類的對(duì)象
類的定義屬性值都是空或默認(rèn)值,而對(duì)象的屬性都有具體的值

類的定義

類的定義以關(guān)鍵字class開(kāi)始,后面跟著這個(gè)類的名稱。類的命名通常每個(gè)單詞的第一個(gè)字母大寫,以中括號(hào)開(kāi)始和結(jié)束
類的實(shí)例化為對(duì)象時(shí)使用關(guān)鍵字new,new之后緊跟類的名稱和一對(duì)圓括號(hào)
對(duì)象中得成員屬性和方法可以通過(guò)->符號(hào)來(lái)訪問(wèn)


①類的聲明/類的實(shí)例化結(jié)果

public 公開(kāi)成員,實(shí)例對(duì)象  用 new 關(guān)鍵字 + 類名稱,在創(chuàng)建好實(shí)例對(duì)象后,可以用用->訪問(wèn)里面的公共成員或者方法

<?php//運(yùn)動(dòng)類class moveMent{    //public 公開(kāi)成員    public $name;   //姓名    public $height; //身高    public $weight; //體重    public $age;    //性別    public $gender; //年齡}//實(shí)例對(duì)象  用 new 關(guān)鍵字 + 類名稱$ZhanShuai = new moveMent;//在創(chuàng)建好實(shí)例對(duì)象后,可以用用->訪問(wèn)里面的公共成員或者方法$ZhanShuai -> name = "張帥";$ZhanShuai -> height = "170cm";$ZhanShuai -> weight = "55kg";$ZhanShuai -> age = "男";$ZhanShuai -> gender = "23";echo  "姓名:" .$ZhanShuai -> name ."<br>";;echo  "身高:" .$ZhanShuai -> height."<br>"; ;echo  "體重:".$ZhanShuai -> weight."<br>"; ;echo  "性別: " .$ZhanShuai -> age."<br>"; ;echo  "年齡: " .$ZhanShuai -> gender ."歲"."<br>";

二. 構(gòu)造方法

  • __construct 構(gòu)造器 1.對(duì)對(duì)象的公共屬性進(jìn)行初始化賦值 2. 記錄當(dāng)前類被實(shí)例化的次數(shù)

    有構(gòu)造方法時(shí), 類的實(shí)例化必須給構(gòu)造方法傳值,否則會(huì)報(bào)錯(cuò)

給構(gòu)造方法傳遞參數(shù),并且訪問(wèn)類里面成員實(shí)例方法

<?php//①類的聲明/類的實(shí)例化結(jié)果//運(yùn)動(dòng)類class moveMent2{    //public 公開(kāi)成員    public $name;   //姓名    //protected 受保護(hù)成員,僅限本類以及子類訪問(wèn)    protected $height; //身高    //private 私有成員,僅限本類中的使用.  如何給私有成員賦值 1. 通過(guò)構(gòu)造函數(shù) 2. 通過(guò)魔術(shù)方法 __Set() to be continued....    private  $weight; //體重    public $age;    //性別    public $gender; //年齡    //__construct 構(gòu)造器 1.對(duì)對(duì)象的公共屬性進(jìn)行初始化賦值 2. 記錄當(dāng)前類被實(shí)例化的次數(shù)     public function __construct($name,$height,$weight,$age,$gender)    {         //特殊的對(duì)象引用$this :代表本對(duì)象 , 完成對(duì)象內(nèi)部成員的訪問(wèn)         //使用$this訪問(wèn)類成員初始化賦值         $this->name = $name;         $this->height = $height;         $this->weight = $weight;         $this->age = $age;         $this->gender = $gender;    }    //成員實(shí)例方法    public function movements(){        if ($this->height > 175 && $this->weight < 100) {            return "$this->name 適合成為運(yùn)動(dòng)員";        }else {            return "$this->name 不適合成為運(yùn)動(dòng)員";        }    }}//有構(gòu)造方法時(shí), 類的實(shí)例化必須給構(gòu)造方法傳值//實(shí)例對(duì)象  用 new 關(guān)鍵字 + 類名稱// $zql = new moveMent2;$zql = new moveMent2("張起靈","180","60kg","男","23");$panzi = new movement2("胖子","170","80kg","男","23");//調(diào)用類方法echo $zql->movements() ."<br>";echo  $panzi->movements() ;

三.對(duì)象成員之間的內(nèi)部訪問(wèn) $this

  • 特殊的對(duì)象引用$this :代表本對(duì)象 , 完成對(duì)象內(nèi)部成員的訪問(wèn),類似指針

//__construct 構(gòu)造器 1.對(duì)對(duì)象的公共屬性進(jìn)行初始化賦值 2. 記錄當(dāng)前類被實(shí)例化的次數(shù)     public function __construct($name,$height,$weight,$age,$gender)    {         //特殊的對(duì)象引用$this :代表本對(duì)象 , 完成對(duì)象內(nèi)部成員的訪問(wèn)         //使用$this訪問(wèn)類成員初始化賦值         $this->name = $name;         $this->height = $height;         $this->weight = $weight;         $this->age = $age;         $this->gender = $gender;    }    //成員實(shí)例方法    public function movements(){        if ($this->height > 175 && $this->weight < 100) {            return "$this->name 適合成為運(yùn)動(dòng)員";        }else {            return "$this->name 不適合成為運(yùn)動(dòng)員";        }    }

四.private僅限本類中使用 protected本類中,子類中使用

  • protected本類中,子類中使用

    訪問(wèn)受保護(hù)的成員會(huì)進(jìn)行報(bào)錯(cuò),protected只能在本類中,子類中使用 Fatal error: Uncaught Error: Cannot access protected property moveMent3::$height in

  • private僅限本類中使用

    訪問(wèn)私有成員private也會(huì)進(jìn)行報(bào)錯(cuò),因?yàn)樗接谐蓡T僅限于本類中使用
    Fatal error: Uncaught Error: Cannot access private property moveMent3::$weight in

  • 如何給私有成員賦值 1. 通過(guò)構(gòu)造函數(shù) 2. 通過(guò)魔術(shù)方法 __Set() to be continued….

//__construct 構(gòu)造器     public function __construct($height,$weightr)    {         //特殊的對(duì)象引用$this :代表本對(duì)象 , 完成對(duì)象內(nèi)部成員的訪問(wèn)         //使用$this訪問(wèn)類成員初始化賦值         $this->height = $height;         $this->weight = $weight;    }   //成員實(shí)例方法    public function  Show(){        echo "我的體重是:$this->weight"."<br>";        echo "我的身高是:$this->height"."<br>";    }    $getName = new moveMent3("靚仔","175","55Kg","男","21");    echo $getName->Show();

五.類的自動(dòng)加載 spl_autoload_register /靜態(tài)成員的訪問(wèn)

①類的自動(dòng)加載 spl_autoload_register

<?php//類的自動(dòng)加載器spl_autoload_register(function($class){    require $class . ".php";});<?php//spl_autoload_register 注冊(cè)類的自動(dòng)加載器//引入類的自動(dòng)加載器require "1-splauto.php";//建立對(duì)象 類的實(shí)例化$getName = new moveMent3("小龍女","165cm","45kg","女","21歲");//調(diào)用 類成員方法echo $getName->Show();

②靜態(tài)成員的訪問(wèn)

  • static 關(guān)鍵字:標(biāo)志靜態(tài)成員(方法,屬性), 靜態(tài)成員只能由類來(lái)調(diào)用, 為所有對(duì)象共享

  • self:: 靜態(tài)成員與類的實(shí)例無(wú)關(guān)  不能用$this來(lái)訪問(wèn)  用self:: 類的引用 訪問(wèn) 靜態(tài)成員

<?php/** * 類的靜態(tài)成員 * static 關(guān)鍵字:標(biāo)志靜態(tài)成員(方法,屬性), 靜態(tài)成員只能由類來(lái)調(diào)用, 為所有對(duì)象共享 */class mStatic{    //static 靜態(tài)成員    public static $name;    public static $wage;    public function __construct($name,$wage){        //靜態(tài)成員與類的實(shí)例無(wú)關(guān)  不能用$this來(lái)訪問(wèn)  用self:: 類的引用 訪問(wèn) 靜態(tài)成員           self::$name = $name;        self::$wage = $wage;    }}//創(chuàng)建對(duì)象 類的實(shí)例化$user  = new mStatic("張三",12000);//訪問(wèn)靜態(tài)成員 echo $user::$name." "." ";echo "工資:". $user::$wage;

七.類的繼承 擴(kuò)展 父類方法(魔術(shù)方法,普通方法)的重寫 parent:: 調(diào)用父類成員

父類

<?php//物品類class mItems{    //衣服和價(jià)格都是公共成員    public $clothes;    public $price;    //構(gòu)造器 給成員屬性初始化    public function __construct($clothes,$price)    {        $this->clothes = $clothes;        $this->price = $price;    }    //公共成員方法    public function Show(){        return $this->clothes."是".$this->price."元";    }}

子類

<?php//繼承物品父類class SumItems extends mItems{    //拓展屬性 私有成員     private $num;    //重寫父類魔術(shù)方法 構(gòu)造器    public function __construct($clothes,$price,$num)    {        //parent關(guān)鍵字 調(diào)用父類的成員方法        parent::__construct($clothes,$price);        //初始化子類拓展成員屬性        $this->num = $num;    }    //重寫父類普通方法    public function Show()    {        return parent::Show().",庫(kù)存還有:".$this->num."<br>";    }    //拓展普通方法    public function Sum()    {        return "剩余庫(kù)存金額一共:".($this->price * $this->num)."元"."<br>";    }}

服務(wù)端

//引入文件require "1-splauto.php";//LiLing 實(shí)例化子類$LiLing = new SumItems("lining男衣",198,2000);//調(diào)用對(duì)象LiLing 子類方法 echo $LiLing->Show();echo $LiLing->Sum();

本單元小結(jié)
類(對(duì)象抽象化的結(jié)果)與對(duì)象 (類實(shí)例化結(jié)果)
構(gòu)造方法 __construct()
對(duì)象成員之間的內(nèi)部訪問(wèn) $this
private僅限本類中使用  protected本類中,子類中使用
類的自動(dòng)加載 spl_autoload_register(function())
靜態(tài)成員的訪問(wèn) 類的引用self::
類的繼承 extends 擴(kuò)展 父類方法(魔術(shù)方法,普通方法)的重寫 parent:: 調(diào)用父類成員
批改老師:滅絕師太滅絕師太

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

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

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

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