国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

淺談PHP面向對象編程

2020-03-22 19:01:01
字體:
來源:轉載
供稿:網友
本篇文章給大家分享的內容是關于淺談PHPhtml' target='_blank'>面向對象編程 ,有著一定的參考價值,有需要的朋友可以參考一下

一、PHP面向對象編程基礎實踐

<?php/**    通過對象的編程方式,可將實現生活中的一切事物以對象的形式表現出來。便于理解、維護、擴展等;*    本示例:定義一個“人”類*    $name : 對象中的成員屬性,在此類中表示人的姓名*    say() : 對象中的成員方法,在此類中表示人說話的方法*    $this : PHP中的偽變量,表示自身的類*    __construct() : php中的魔術方法,構造函數,在實例化類時自動執行*    __destruct() : php中的魔術方法,析構函數,當類調用完成后自動執行*/class Human{    public $name;    public $sex;    public $age;    public function __construct($name,$sex,$age)     {        $this->name = $name;        $this->sex = $sex;        $this->age = $age;    }    public function say()    {        echo '大家好,我的名字叫'.$this->name.',今年'.$this->age.'歲,我的性別是'.$this->sex;    }    public function __destruct()    {        $this->name = null;        $this->sex = null;        $this->age = null;    }}//實例化“人”類$male = new Human("張三","男","20");//調用“人”類說話的方法$male->say();//輸出結果:大家好,我的名字叫張三,今年20歲,我的性別是男?>

二、PHP面向對象高級編程實踐

知識點:類的繼承、方法重寫、訪問控制、static關鍵字、final關鍵字、數據訪問、接口、多態、抽象類

2.1、類的繼承:extends 關鍵字
例如:一員運行員、一位主持人,他們有人類共同的行為方法,但他們都有自己不同的特長專業。因此在編程時需要給他們創建一個父類并繼承;

<?php/**    創建一個“人”類做為父類,繼承的子類都擁有其父類的成員屬性、方法*/class Human{    public $name;    public function say()    {        echo "父類說話的方法,姓名:".$this->name."/n";    }    public function eat()    {        echo "父類吃飯的方法/n";    }}/**    創建一個“運動員”類,繼承“人”類*    extends : 關鍵字,繼承某個類*/class Sport extends Human{    public $type;        public function __construct($name,$type)    {        $this->name = $name;    //給父類 $name 屬性賦值        $this->type = $type;        }    public function run()    {        $this->say();   //調用父類“說話”的方法        echo "我在正跑步,我是一員".$this->type."運動員...../n";    }}/**    創建一個“主持人”類,繼承“人”類*    extends : 關鍵字,繼承某個類*/class Host extends Human{    public $television;     public function __construct($name,$television)    {        $this->name = $name;            $this->television= $television;       }    public function perform()    {        $this->eat();   //調用父類“吃飯”的方法        echo "我在正表演一個節目,我是".$this->television."電視臺的一名主持人...../n";    }}//實例化“運動員”類$nba = new Sport("喬丹","籃球");$nba->run();//實例化“主持人”類$tv = new Host("張三","北京衛視");$tv->perform();//輸出結果://父類說話的方法,姓名:喬丹 我在正跑步,我是一員籃球運動員..... //父類吃飯的方法 我在正表演一個節目,我是北京衛視電視臺的一名主持人.....?>

2.2、方法重寫:子類重寫父類的方法

<?phpclass Human{    public function say()    {        echo "父類說話的方法";    }}class Sport extends Human{    //重寫父類“說話”的方法    public function say()    {        echo "子類說話的方法";    }}$nba = new Sport();$nba->say();//輸出結果:子類說話的方法?>

2.3、訪問控制:public 、 protected 、private 關鍵字
public:定義公共的成員屬性或方法,任何地方都可使用
protected : 定義受保護的成員屬性或方法,只允許類本身或子類使用
private : 定義私有的成員屬性或方法,只允許類的本身使用

<?phpclass Human{    public $name;    protected $sex;    private $age;    }//實例化對象,給公共屬性賦值可正常輸出結果,外部不能給protected、private受保護的成員屬性賦值或使用$worker = new Human();$worker->name = "張三";echo $worker->name;?>

2.4、static(靜態)關鍵字
1)、靜態屬性用于保存類的公有數據;
2)、靜態方法里面只能訪問靜態屬性或方法,不能使用 $this 偽變量;
3)、靜態成員不需要通過 new 關鍵字來實例化對象就可訪問使用;

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿巴嘎旗| 潞城市| 岚皋县| 云安县| 屏山县| 阿坝| 鄄城县| 梁河县| 怀仁县| 清水县| 公主岭市| 白河县| 吴川市| 徐闻县| 宝山区| 牡丹江市| 贵港市| 望江县| 临漳县| 定结县| 大悟县| 育儿| 呼图壁县| 民乐县| 桃江县| 新建县| 宣化县| 抚顺县| 酉阳| 新化县| 黔南| 贵州省| 永仁县| 安西县| 东乡族自治县| 正定县| 信宜市| 泸水县| 马关县| 三都| 南皮县|