亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

24、面向對象例子-Static關鍵字

標簽:
PHP

1、源码

<?php
/**
* Copyright(C) Iamasb
* @project : 3、workerman相关知识点
* @explain : static关键字
* @filename : 4、static关键字
* @author : Iamasb
* @date : 2019/4/27
*/
class TestStatic
{
/**
* 静态属性
* @var string
*/
public static $param = ‘param’;

/**
* @var string
*/
public $param1 = ‘param1’;

/**
* 静态方法
* 打印属性param1
*/
public static function func1()
{
echo $this->param1,PHP_EOL;
}

/**
* 静态方法
* 打印静态属性
*/
public static function func2()
{
echo self::$param,PHP_EOL;
}

/**
* 打印静态属性param
*/
public function func3()
{
echo $this->param,PHP_EOL;
$this->func2();
}
}

$ts1 = new TestStatic();
//$ts1->func1();
echo “====打印一====”,PHP_EOL;
$ts1->func2();
$ts1->func3();
$ts1->param = ‘ts1’;
echo “====打印二====”,PHP_EOL;
$ts1->func2();
$ts1->func3();
TestStatic::$param = “hello world”;
echo “====打印三====”,PHP_EOL;
$ts1->func2();
$ts1->func3();
$ts2 = new TestStatic();
echo “====打印四====”,PHP_EOL;
$ts2->func2();
$ts2->func3();
echo “====打印五====”,PHP_EOL;
TestStatic::func2();

2、执行结果

https://img1.sycdn.imooc.com//5ce7b9400001313726100276.jpg

  • 对$ts1->func1();进行注释掉,再执行

https://img1.sycdn.imooc.com//5ce7b94a0001753a16220600.jpg

3、总结

static修改属性和方法的称为类静态,这里的静态是指类所有,被所有实例化对象共享
静态方法中不能使用$this,这是静态方法为类所有,因此在此方法内部使用$this,则无法区分是哪个实例化对象
修改静态属性,只能通过类名,如使用$this,则会被当做是该类的公开属性
静态方法可以通过一个类已实例化的对象来访问
self代替当前运行上下文


點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
PHP開發工程師
手記
粉絲
4
獲贊與收藏
37

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消