欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP中面向對象的Static關鍵字使用方法

案例一:

公司主營業(yè)務:成都網(wǎng)站建設、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出龍巖免費做網(wǎng)站回饋大家。

實踐目標:

1、靜態(tài)屬性的定義 ,直接在屬性定義前加static 比如 static public $name ;

2、靜態(tài)屬性不能用類的實例去獲取,而是通過以下方式獲?。?/p>

● 類名::$屬性名稱

● 在類的內部,可以通過self::$屬性名稱

<?php 
 class Human{
    static public $name = "人類";//靜態(tài)屬性的定義
    public function say(){
        echo  "self::name = ".self::$name ."<br/>";
    }
}
//輸出靜態(tài)屬性
echo "名稱為:".Human::$name."<br/>";
$human = new Human();
$human->say();
?>

運行結果為:

PHP中面向對象的Static關鍵字使用方法

案例二:

實踐目標:

1、靜態(tài)方法的定義,直接在方法定義前加static 比如static public function Hello(){   }

2、靜態(tài)方法不能用類的實例去獲取,而是通過以下方式獲?。?/p>

● 類名::方法名稱

● 在類的內部,可以通過self::方法名稱

<?php 
 class Human{
    public function __construct(){
        self::staticFun1();
    }
    static public function staticFun1(){
        echo "我是靜態(tài)方法<br/>";
    }
}
//輸出靜態(tài)方法
Human::staticFun1();
//運行構造函數(shù),看是否可以被正常調用
$human = new Human();

?>

運行結果為:

PHP中面向對象的Static關鍵字使用方法

案例三:

實踐目標:

1、在php中,不能用static修飾類,只能修飾屬性或者方法

<?php 
static class Human{
   
}
?>

運行結果為:

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting :: (T_PAAMAYIM_NEKUDOTAYIM) in D:\E-class\class-code\classing\index.php on line 2

案例四:

實踐目標:

1、 靜態(tài)方法內部不能調用非靜態(tài)屬性,只能調用靜態(tài)屬性

<?php 
class Human{
    static public $staticName = "靜態(tài)屬性-人類";
    public $commonName="非靜態(tài)屬性-人類";
    
    //定義靜態(tài)方法 靜態(tài)方法調用非靜態(tài)屬性
    static public function staticFun1(){
        echo $this->commonName."<br/>";
        
    }
    //測試靜態(tài)方法調用靜態(tài)屬性
    static public function staticFun2(){
        echo self::$staticName."<br/>";
        
    }
}
Human::staticFun2();//OK
Human::staticFun1();//not OK
?>

運行結果為:

靜態(tài)屬性-人類

Fatal error: Uncaught Error: Using $this when not in object context in D:\E-class\class-code\classing\index.php:8 Stack trace: #0 D:\E-class\class-code\classing\index.php(18): Human::staticFun1() #1 {main} thrown in D:\E-class\class-code\classing\index.php on line 8

案例五:

實踐目標:

1、 靜態(tài)方法內部不能調用非靜態(tài)方法,只能調用靜態(tài)方法

<?php 
class Human{
   
    //定義靜態(tài)方法 
    //測試靜態(tài)方法調用 靜態(tài)方法
    static public function staticFun1(){
        self::staticFun2();
        $this->commonFun1();
    }
    static public function staticFun2(){
        echo "我是靜態(tài)方法2<br/>";
    }
    //普通方法
    public function commonFun1(){
        echo "我是普通方法1<br/>";
    }

    
}
Human::staticFun1();
?>

運行結果為:

我是靜態(tài)方法2

Fatal error: Uncaught Error: Using $this when not in object context in D:\E-class\class-code\classing\index.php:8 Stack trace: #0 D:\E-class\class-code\classing\index.php(20): Human::staticFun1() #1 {main} thrown in D:\E-class\class-code\classing\index.php on line 8

案例六:

實踐目標:

1、非靜態(tài)方法內部,既可以調用非靜態(tài)屬性也可以調用靜態(tài)屬性

<?php 
class Human{
    static public $staticName = "靜態(tài)屬性-人類";
    public $name = "非靜態(tài)屬性-人類";

    ///普通方法
    public function commonFun1(){
       echo self::$staticName."<br/>";
       echo $this->name."<br/>";
    }

}
$human = new Human();
$human->commonFun1();
?>

運行結果為:

靜態(tài)屬性-人類
非靜態(tài)屬性-人類

案例七:

實踐目標:

1、非靜態(tài)方法內部,既可以調用非靜態(tài)方法也可以調用靜態(tài)方法

<?php 
class Human{
    ///普通方法
    public function commonFun1(){
       self::staticFun1();
       $this->commonFun2();
    }

    //測試靜態(tài)方法調用 靜態(tài)方法
    static public function staticFun1(){
        echo "我是靜態(tài)方法1<br/>";
    }
    public function commonFun2(){
        echo "我是普通方法2<br/>";
    }
}
$human = new Human();
$human->commonFun1();
?>

運行結果為:

我是靜態(tài)方法1
我是普通方法2

問題:

1、所有的NBA球員都有一個共同的聯(lián)盟總裁,David Stern(大衛(wèi)*斯特恩)

2、總裁換成了“Adam Silver” 怎么辦?

大家自己思考一下,再看后面的結果

.........................

答案揭曉:

思路分析:

1、“換”是一個動詞,換總裁,所以是一個方法,而總裁是一個數(shù)據(jù),所以是一個屬性

2、換總裁要達到一個目的就是,換了以后,這個對象仍然要被其他所有的NBA球員對象使用到

3、既然 總裁 (屬性) 要被所有的NBA球員對象 共享,那么我們就可以結合static的作用,將總裁屬性定義為靜態(tài)屬性

4、所以根據(jù)綜上所述,大概的思路就是定義一個NBA球員類,然后類里面主要有靜態(tài)屬性“總裁”和一個 換總裁 的方法

具體代碼如下:

<?php 
//Nba球員類
class NbaPlayer{
    public $name = "";
    //構造函數(shù)初始化對象
    public function __construct($name){
        $this->name = $name;
    }
    //總裁
    static public $president = "David Stern";

    //換總裁方法
    public function changePresident($name){
      self::$president = $name;
    }

}
$jordon = new NbaPlayer("喬丹");
$kebo = new NbaPlayer("科比");
echo "輸出他們目前共同的總裁,總裁為:".NbaPlayer::$president."<br/>";

echo "現(xiàn)在把喬丹總裁換成Adam Silver<br/>";
$jordon->changePresident("Adam Silver");
echo "輸出科比的總裁是否也和喬丹的一樣,科比總裁為:".NbaPlayer::$president."<br/>";
?>

運行結果為:

輸出他們目前共同的總裁,總裁為:David Stern
現(xiàn)在把喬丹總裁換成Adam Silver
輸出科比的總裁是否也和喬丹的一樣,科比總裁為:Adam Silver

網(wǎng)頁題目:PHP中面向對象的Static關鍵字使用方法
轉載來源:http://aaarwkj.com/article14/igegde.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、網(wǎng)站改版企業(yè)建站、小程序開發(fā)、關鍵詞優(yōu)化、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設
亚洲精品中文字幕乱码三区91 | 欧美三级特黄在线播放| 亚洲伦理av在线观看| 久久久久久精品国产av| 国产在线成年人免费观看| 91精品国产在线观看| 日本一区中文字幕欧美| 天堂中文在线官网在线| 国产日韩欧美一区二区丝袜| 日本在线不卡一二三区| 亚洲精品一区二区三区不卡| 亚洲av日韩高清在线观看| 欧美日韩精品一区二区在线| 中文字幕精品人妻丝袜| 91精品国产综合久久香蕉麻豆| 久久久人妻精品一区二区三区四区| 国产精品一区二区三区激情| 亚洲精品老司机福利在线| 日本成熟妇高潮视频在线观看不卡| 色综合久久婷婷色综合网| 国产精品自拍国产精品| 日本国产美女精品一区二区| 不卡在线视频中文字幕| 国产精品久久午夜伦鲁鲁| 亚洲一区二区三区在线观看呢| 亚洲不卡高清一区二区三区| 国产一级内射麻豆91| 激情四射五月天亚洲婷婷| 岛国高清乱码中文字幕| 人妻内射一区二区在线视| 国产另类极品熟女露脸自拍| 亚洲视一区二区三区四区| 日本久久精品视频一区| 夫妻的世界电影完整版| 亚洲欧洲中文字幕一区二区| 日韩欧美黄片一区二区三区| 欧美精品蜜桃激情一区久久 | 亚洲三区四区视频在线观看| 成人黄色动作片在线观看| 亚洲国产欧美日韩一区| 清纯少妇激情四射网站|