iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 4
0
Software Development

後端PHP+Laravel--新手實戰日記系列 第 4

Day04-$this與可見度_PHP物件導向Part2

胎嘎侯!

昨天提到「類中定義屬性不能直接使用,要加上可見度」,勞煩師爺翻譯翻譯,什麼是可見度?

可見度(visibility)

就好比貼了一個標籤,告知類內的屬性或方法可被訪問的範圍,物件如果見到這三類時,必須依照其規定調用。通常依專案需求訂定規則,在後續文章中會很常用到。

可見度關鍵字有三:
Private(當前類,不能被繼承)
Protected(類內,可被繼承)
Public(完全開放)

這張圖是不是很好理解三者的差異呢?
https://ithelp.ithome.com.tw/upload/images/20190919/201190220HgDCFokMl.jpg

PHP OOP VISIBILITY (SOURCE: STACKOVERFLOW.COM)

※中國將可見度稱為訪問修飾限定符,給遨遊在網路世界的你小小補充

$this(pseudo-variable)

初見$this非常困惑(歪頭),到底什麼是$this啊啊啊!

找資源的過程中,發現這段說明蠻清楚的:
物件導向允許物件透過 $this 關鍵字來參考自己。
物件使用 $this 就如同你直接使用物件名稱來指定物件,
如: $s->money

方法面對外部調用時,$this代表正在取用方法的外部物件名稱,其為系統在方法內置的對象,是通用的名字。

使用這些含有 $this 的方法之前,記得先要實例化這些方法的物件。

<?php
class Wallet{
    public $money = 1000;
    
    public function get(){
    echo $this->money;  //$this要寫在類內部哦!
    }
}

$s = new Wallet();
$s->money = 200;  //此時的$s等於class裡的$this
$s->get();

//輸出 200
?>

/images/emoticon/emoticon07.gif
接下來登場的是範圍解析運算子(::),我們明天見。

參考資源:
https://www.slideshare.net/shengyou/2-php-50744556
https://developer.hyvor.com/tutorials/php/oop-visibility
https://wadehuanglearning.blogspot.com/2017/07/php-oo.html


上一篇
Day03-類是什麼_PHP物件導向Part1
下一篇
Day05-靜態(static)和self_PHP物件導向Part3
系列文
後端PHP+Laravel--新手實戰日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言