一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - PHP面向對象程序設計繼承用法簡單示例

PHP面向對象程序設計繼承用法簡單示例

2019-07-08 12:44徐三少北 PHP教程

這篇文章主要介紹了PHP面向對象程序設計繼承用法,結合具體實例形式分析了php面向對象程序設計中繼承的相關概念、原理、使用技巧與相關操作注意事項,需要的朋友可以參考下

本文實例講述了PHP面向對象程序設計繼承用法。分享給大家供大家參考,具體如下:

<?php
//繼承是子類(派生類)從父類(基類,超類)繼承屬性和方法。
//子類也可以有自己的屬性和方法。
//一個父類可以被多個子類繼承。
//如果想修改父類的方法,只能在子類里重寫這個方法,這也是多態的體現。
//用if($obj instanceof SomeClass){}來檢查一個對象是否屬于一個類。
//如果$name是protected,private訪問權限,那么將不能在類外被直接訪問。
//如果$name是private訪問權限,那么將只能在自身類里訪問。
//如果$name是protected訪問權限,可以自身類里訪問,也可以在子類里訪問。
//__construct()是類的構造函數,在創建對象實例時,自動訪問該函數,子類也有自己的構造函數。
//子類沒有構造函數時,在創建對象時,會調用父類的構造函數。
//子類有構造函數時,不用在調用父類的構造函數,除非有parent顯式調用時,才去調用父類的構造函數。
//程序結束時,或者用unset()對象時,會調用析構函數。
//如果類里定義了final的方法,那么此方法將不能被子類重寫。
//如果類聲明了final,那么此類不能被繼承。
//作為慣例,私有的變量名通常以一個下劃線開始。
//如果一個類的方法只能被它自己調用,那么可以設置為受保護的或者私有的。
//$this引用當前對象的實例,self被用作當前類的一個引用。
//靜態屬性和類常數只能用類名、parent、self來訪問
//函數名不區分大小寫,變量區分大小寫。
class Employees{
  protected $name = null;
  public static $count = 0;
  function __construct($nameStr){
    $this->name = $nameStr;
    echo "<p>$this->name : ",self::$count," : parent : __construct</p>";
  }
  function work(){
    echo "<p>$this->name is working</p>";
  }
  
  function __destruct(){
    echo "<p>parent unset $this->name</p>";
  }
}
class Managers extends Employees{
  private $pos = null;
  function __construct($p,$nameStr){
    parent::$count++;
    parent::__construct($nameStr);
    $this->pos = $p;
    echo "<p>$this->name , $this->pos : self : __construct</p>";
  }
  function assignJob(){
    echo "<p>$this->name assign jobs</p>";
  }
  function getName(){
    return $this->name;
  }
  function __destruct(){
    echo "<p>self unset $this->name</p>";
  }
}
class Programmers extends Employees{
  function code(){
    echo "<p>$this->name is coding</p>";
  }
  function getName(){
    return $this->name;
  }
}
$e1 = new Employees('e1');
$e2 = new MAnagers(2,'e2');
$e3 = new Programmers('e3');
$e1->work();
$e2->work();
$e3->work();
$e2->assignJob();
$e3->Code();
echo "<p>{$e3->getName()}</p>";
//echo "<p>$e1->name</p>";
if($e2 instanceof Employees){
  echo "<p>ok</p>";
}else{
  echo "<p>no</p>";
}
unset($e1,$e2,$e3);

運行結果:

e1 : 0 : parent : __construct

e2 : 1 : parent : __construct

e2 , 2 : self : __construct

e3 : 1 : parent : __construct

e1 is working

e2 is working

e3 is working

e2 assign jobs

e3 is coding

e3

ok

parent unset e1

self unset e2

parent unset e3

希望本文所述對大家PHP程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产亚洲欧美日韩综合综合二区 | a色在线 | 精品国产一区二区三区在线观看 | 欧美午夜性春猛交bbb | 成人小视频在线观看免费 | 成人资源在线观看 | 免费视频一区 | 久久91精品国产91久 | 久久 这里只精品 免费 | 亚洲网色| 亚洲欧美日韩精品久久亚洲区 | 美女机巴| 美女脱了内裤让男桶爽 | 99精品久久99久久久久久 | 变态 另类 国产 亚洲 | 国内精品免费一区二区三区 | 99久久精品国内 | 99热精品久久 | 暖暖 免费 高清 日本 在线 | 亚洲六月丁香六月婷婷色伊人 | 亚洲欧美久久婷婷爱综合一区天堂 | 美女扒开腿让男生捅 | 亚洲精品国产成人7777 | 2018av在线| 第一次破学生处破 | 校园纯肉H教室第一次 | 日本中文字幕一区二区高清在线 | 亚洲女同在线观看 | 欧美男男xxx激情做受 | jazz中国在线视频 | 亚洲 日韩 在线 国产 视频 | 国产精品成人 | 欧美性色黄大片四虎影视 | 国产亚洲福利精品一区二区 | 国产99久久精品一区二区 | 亚洲+国产+图片 | 91制片厂制作传媒网站 | 夫妇交换小说全文阅读 | 黑人好大好硬好深好爽想要h | 午夜伦理电影在线观免费 | 天天做日日做 |