婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析

PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析

熱門標(biāo)簽:高德地圖標(biāo)注家 外呼系統(tǒng)撥打暫時(shí)無(wú)法接通 江西手機(jī)自動(dòng)外呼防封系統(tǒng)是什么 廣東地市地圖標(biāo)注 長(zhǎng)春人工外呼系統(tǒng)服務(wù)商 怎么向銷售公司推銷外呼系統(tǒng) 廣州防封卡外呼系統(tǒng)多少錢一個(gè)月 哪里辦理400電話 仁和怎么申請(qǐng)400開(kāi)頭的電話

本文實(shí)例講述了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法.分享給大家供大家參考,具體如下:

看到php里面有關(guān)于后期靜態(tài)綁定的內(nèi)容,雖然沒(méi)有完全看懂,但是也收獲不少東西。

php官方手冊(cè)介紹:
http://php.net/manual/zh/language.oop5.late-static-bindings.php

不存在繼承的時(shí)候

不存在繼承的意思就是,就書寫一個(gè)單獨(dú)的類來(lái)使用的時(shí)候。self和static在范圍解析操作符 (::) 的使用上,并無(wú)區(qū)別。

  • 在靜態(tài)函數(shù)中,self和static可以調(diào)用靜態(tài)屬性和靜態(tài)函數(shù)(沒(méi)有實(shí)例化類,因此不能調(diào)用非靜態(tài)的屬性和函數(shù))。
  • 在非靜態(tài)函數(shù)中,self和static可以調(diào)用靜態(tài)屬性和靜態(tài)函數(shù)以及非靜態(tài)函數(shù)

此時(shí),self和static的表現(xiàn)是一樣的,可以替換為該類名::的方式調(diào)用。

?php
class Demo{
 public static $static;
 public $Nostatic; 
 public function __construct(){
  self::$static = "static";
  $this->Nostatic = "Nostatic";
 }
 public static function get(){
  return __CLASS__;
 }
 public function show(){
  return "this is function show with ".$this->Nostatic;
 }
 public function test(){
  echo Demo::$static."br/>"; //使用類名調(diào)用靜態(tài)屬性
  echo Demo::get()."br/>"; //使用類名調(diào)用靜態(tài)屬性
  echo Demo::show()."br/>"; //使用類名調(diào)用靜態(tài)屬性
  echo self::$static."br/>"; //self調(diào)用靜態(tài)屬性
  echo self::show()."br/>"; //self調(diào)用非靜態(tài)方法
  echo self::get()."br/>"; //self調(diào)用靜態(tài)方法
  echo static::$static."br/>";//static調(diào)用靜態(tài)屬性
  echo static::show()."br/>";//static調(diào)用非靜態(tài)方法
  echo static::get()."br/>"; //static調(diào)用靜態(tài)方法
 }
}
$obj = new Demo();
$obj->test();

輸出結(jié)果:

static
Demo
this is function show with Nostatic
static
this is function show with Nostatic
Demo
static
this is function show with Nostatic
Demo

繼承的時(shí)候

在繼承時(shí),self和static在范圍解析操作符 (::) 的使用上有差別。parent也是在繼承的時(shí)候使用的。

?php
class A{
 static function getClassName(){
  return "this is class A";
 }
 static function testSelf(){
  echo self::getClassName();
 }
 static function testStatic(){
  echo static::getClassName();
 }
}
class B extends A{
 static function getClassName(){
  return "this is class B";
 }
}
B::testSelf();
echo "br/>";
B::testStatic();

輸出結(jié)果:

this is class A
this is class B

self調(diào)用的靜態(tài)方法或?qū)傩允冀K表示其在使用的時(shí)候的當(dāng)前類(A)的方法或?qū)傩裕梢蕴鎿Q為其類名,但是在類名很長(zhǎng)或者有可能變化的情況下,使用self::的方式無(wú)疑是更好的選擇。

static調(diào)用的靜態(tài)方法或?qū)傩詴?huì)在繼承中被其子類重寫覆蓋,應(yīng)該替換為對(duì)應(yīng)的子類名(B)。

parent關(guān)鍵字用于調(diào)用父類的方法和屬性。在靜態(tài)方法中,可以調(diào)用父類的靜態(tài)方法和屬性;在非靜態(tài)方法中,可以調(diào)用父類的方法和屬性。

?php
class A{
 public static $static;
 public $Nostatic; 
 public function __construct(){
  self::$static = "static";
  $this->Nostatic = "Nostatic";
 }
 public static function staticFun(){
  return self::$static;
 }
 public function noStaticFun(){
  return "this is function show with ".$this->Nostatic;
 }
}
class B extends A{
 static function testS(){
  echo parent::staticFun();
 }
 function testNoS(){
  echo parent::noStaticFun();
 }
}
$obj = new B();
$obj->testS();
echo "br/>";
$obj->testNoS();

輸出結(jié)果

static
this is function show with Nostatic

在文章的最后,我們分析一個(gè)手冊(cè)上的例子

?php
class A {
 public static function foo() {
  static::who();
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class B extends A {
 public static function test() {
  A::foo();
  parent::foo();
  self::foo();
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class C extends B {
 public static function who() {
  echo __CLASS__."\n";
 }
}
C::test();
?>

輸出結(jié)果

A
C
C

我們單獨(dú)拿出test方法進(jìn)行分析:

public static function test() {
  A::foo();
  parent::foo();
  self::foo();
}

1)A::foo();這個(gè)語(yǔ)句是可以在任何地方執(zhí)行的,它表示使用A去調(diào)用靜態(tài)方法foo()得到'A'。

2)parent::foo();C的parent是B,B的parent是A,回溯找到了A的foo方法;static::who();語(yǔ)句中的static::調(diào)用的方法會(huì)被子類覆蓋,所以優(yōu)先調(diào)用C的who()方法,如果C的who方法不存在會(huì)調(diào)用B的who方法,如果B的who方法不存在會(huì)調(diào)用A的who方法。所以,輸出結(jié)果是'C'。[注1]

3)self::foo();這個(gè)self::是在B中使用的,所以self::等價(jià)于B::,但是B沒(méi)有實(shí)現(xiàn)foo方法,B又繼承自A,所以我們實(shí)際上調(diào)用了A::foo()這個(gè)方法。foo方法使用了static::who()語(yǔ)句,導(dǎo)致我們又調(diào)用了C的who函數(shù)。[注2]

注1:補(bǔ)充解釋上面的(2)

?php
class A {
 public static function foo() {
  static::who();
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class B extends A {
 public static function test() {
  A::foo();
  parent::foo();
  self::foo();
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class C extends B {
 // public static function who() {
 //  echo __CLASS__."\n";
 // }
}
C::test();
?>

輸出結(jié)果:

A B B

注2:補(bǔ)充解釋上面的(3)

?php
class A {
 public static function foo() {
  static::who();
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class B extends A {
 public static function test() {
  A::foo();
  parent::foo();
  self::foo();
 }
 public static function foo() {
  echo "fooB"."\n";
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
class C extends B {
 public static function foo() {
  echo "fooC"."\n";
 }
 public static function who() {
  echo __CLASS__."\n";
 }
}
C::test();
?>

輸出結(jié)果:

A C fooB

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP的new static和new self的區(qū)別與使用
  • php面向?qū)ο蟪绦蛟O(shè)計(jì)中self與static的區(qū)別分析
  • PHP面向?qū)ο笾衝ew self()與 new static()的區(qū)別淺析
  • 淺談PHP中new self()和new static()的區(qū)別
  • PHP Class self 與 static 異同與使用詳解

標(biāo)簽:濮陽(yáng) 湘西 惠州 文山 黔東 廈門 梅河口 海北

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析》,本文關(guān)鍵詞  PHP,面向,對(duì)象,程序設(shè)計(jì),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于PHP面向?qū)ο蟪绦蛟O(shè)計(jì)中的self、static、parent關(guān)鍵字用法分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产一区二区三区免费播放| 伊人色综合久久天天| 麻豆精品一区二区三区| 欧美日韩三级视频| 男男成人高潮片免费网站| 欧美一级搡bbbb搡bbbb| 激情偷乱视频一区二区三区| 国产亚洲综合在线| 日本电影亚洲天堂一区| 无码av免费一区二区三区试看 | 国产美女视频91| 国产亚洲欧洲一区高清在线观看| 粉嫩久久99精品久久久久久夜| 中文字幕在线播放不卡一区| 欧美三级电影网站| 韩国午夜理伦三级不卡影院| 日本一区二区不卡视频| 91国偷自产一区二区使用方法| 丝袜亚洲另类丝袜在线| 久久久久亚洲综合| 91久久精品午夜一区二区| 日韩成人dvd| 国产精品三级av在线播放| 欧美在线免费播放| 国产乱子伦视频一区二区三区| 1区2区3区精品视频| 欧美一区二区高清| 不卡的av在线播放| 蜜桃视频免费观看一区| 国产精品入口麻豆原神| 欧美猛男gaygay网站| 国产91露脸合集magnet| 天堂一区二区在线免费观看| 国产亚洲综合色| 欧美电影影音先锋| 99久久精品国产导航| 精东粉嫩av免费一区二区三区| 综合欧美亚洲日本| 欧美成人女星排行榜| 91在线精品一区二区三区| 美洲天堂一区二卡三卡四卡视频 | 国产精品每日更新| 欧美巨大另类极品videosbest| 国产成人免费视频网站高清观看视频| 亚洲不卡在线观看| ●精品国产综合乱码久久久久 | 久久久精品天堂| 欧美一区日韩一区| 欧美视频在线一区| 91丨九色丨黑人外教| 国产一区二区美女诱惑| 日本欧美肥老太交大片| 亚洲电影你懂得| 亚洲男同1069视频| 国产精品国产三级国产| 国产亚洲一区二区三区四区| 6080日韩午夜伦伦午夜伦| 在线免费亚洲电影| 色综合久久中文综合久久牛| 国产资源精品在线观看| 蜜桃av一区二区在线观看| 午夜精品在线看| 亚洲午夜一区二区三区| 亚洲欧美日韩精品久久久久| 国产精品国产三级国产普通话三级| 欧美精品一区二区三区久久久| 日韩一区二区三区电影在线观看| 欧美系列亚洲系列| 欧美日韩在线一区二区| 欧美综合久久久| 在线观看视频一区二区| 在线观看亚洲成人| 欧美日韩一区成人| 8x8x8国产精品| 欧美精品久久久久久久多人混战 | 日韩激情av在线| 日韩国产精品大片| 日本三级韩国三级欧美三级| 五月天亚洲精品| 美腿丝袜亚洲三区| 国产在线精品免费| 粉嫩13p一区二区三区| 成人午夜免费视频| 色菇凉天天综合网| 欧美日韩国产另类不卡| 欧美妇女性影城| wwwwxxxxx欧美| 国产欧美综合在线观看第十页 | 亚洲国产日韩一级| 日本不卡123| 韩国av一区二区三区在线观看| 韩国av一区二区三区四区 | 欧洲另类一二三四区| 欧美视频三区在线播放| 日韩一区和二区| 久久九九久久九九| 亚洲免费观看高清在线观看| 亚洲成人av一区| 国产精品主播直播| 色综合中文字幕国产| 在线精品视频免费观看| 欧美一级电影网站| 国产精品久久久久aaaa| 亚洲一区免费视频| 国产一区二区三区免费播放| 91麻豆免费视频| 欧美一区二区三区免费观看视频| 亚洲精品在线观看网站| 亚洲男同1069视频| 久久99热这里只有精品| www.日韩精品| 日韩欧美黄色影院| 亚洲日本va在线观看| 日本中文字幕一区| 97se亚洲国产综合在线| 亚洲一区二区五区| 亚洲精品免费一二三区| 免费人成精品欧美精品| 波波电影院一区二区三区| 欧美精品精品一区| 中文字幕欧美一| 久久不见久久见免费视频1| 91久久奴性调教| 久久久99精品久久| 视频在线观看一区二区三区| 国产1区2区3区精品美女| 欧美二区在线观看| 亚洲欧美国产三级| 国产69精品久久99不卡| 日韩一级完整毛片| 亚洲五码中文字幕| 不卡欧美aaaaa| 久久综合丝袜日本网| 午夜日韩在线电影| 91丨porny丨首页| 日本一区二区成人| 久草中文综合在线| 欧美日韩国产在线观看| 成人欧美一区二区三区视频网页| 另类小说一区二区三区| 欧美日本在线一区| 亚洲自拍偷拍麻豆| 精品国产一区二区三区四区四| 国产裸体歌舞团一区二区| 在线影视一区二区三区| 久久久久久久久97黄色工厂| 午夜精品福利久久久| 91免费国产在线| 中文字幕不卡一区| 国产99久久久国产精品免费看| 日韩欧美中文一区| 同产精品九九九| 在线观看国产一区二区| 日韩一区欧美小说| 成人18精品视频| 国产精品福利电影一区二区三区四区| 国产综合色产在线精品| 日韩免费高清视频| 日韩电影网1区2区| 日韩午夜在线观看| 久久成人免费网站| 欧美成人一区二区三区在线观看| 亚洲国产精品一区二区久久恐怖片 | 色综合久久久久综合体桃花网| 亚洲国产精品黑人久久久| 国产一区91精品张津瑜| 91麻豆精品国产91久久久使用方法 | 亚洲女人****多毛耸耸8| 久久国产精品无码网站| 911精品国产一区二区在线| 亚洲国产精品综合小说图片区| 色综合中文字幕| 一区二区免费看| 在线精品视频一区二区| 亚洲超碰精品一区二区| 欧美另类久久久品| 美日韩一区二区| 久久九九影视网| 91在线观看污| 亚洲国产成人91porn| 91精品国产色综合久久不卡电影| 日韩和欧美的一区| 精品久久久久久久久久久久久久久久久| 美日韩一级片在线观看| 久久久蜜桃精品| 不卡的av在线| 亚洲电影激情视频网站| 欧美成人性福生活免费看| 国产一区二区成人久久免费影院| 久久精品一区二区三区不卡牛牛| 高清beeg欧美| 亚洲影视在线播放| 精品少妇一区二区三区在线视频| 国产精品99久久久| 亚洲色图欧洲色图婷婷| 在线综合亚洲欧美在线视频| 国产麻豆91精品| 亚洲国产你懂的| 久久久美女毛片| 欧洲视频一区二区|