Visibility การกำหนดสิทธิ์ในการเข้าถึงตัวแปร

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ik Kat
PHP Super Member
PHP Super Member
โพสต์: 291
ลงทะเบียนเมื่อ: 26/06/2017 2:32 pm

Visibility การกำหนดสิทธิ์ในการเข้าถึงตัวแปร

โพสต์ที่ยังไม่ได้อ่าน โดย Ik Kat »

Pubilc สามารถเรียกใช้งานฟังก์ชั่นได้จากทุกที่ :

โค้ด: เลือกทั้งหมด

public $public = 'Public';
Protrcted สามารถเรียกใช้งานฟังก์ชั่นได้ภายในคลาสเดียวกัน หรือคลาสที่มีการสืบทอดเท่านั้น

โค้ด: เลือกทั้งหมด

protected $protected = 'Protected';
Private เรียกใช้งานฟังก์ชั่นได้เฉพาะภายในคลาสเดียวกัน

โค้ด: เลือกทั้งหมด

private $private = 'Private';
การเรียกใช้ตัวแปรภายในคลาส

โค้ด: เลือกทั้งหมด

$obj = new MyClass();
echo $obj->public; 
echo $obj->protected; 
echo $obj->private; 
ตัวอย่างการเรียกใช้งาน :

โค้ด: เลือกทั้งหมด

<?php
class MyClass
{
    public $public = 'Public';
    protected $protected = 'Protected';
    private $private = 'Private';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // สามารถเรียกใช้ได้
echo $obj->protected; // สามารถเรียกใช้ได้
echo $obj->private; // สามารถเรียกใช้ได้
$obj->printHello(); // การแสดงผล Public , Protected , Private

/* คลาสที่ 2 */
class MyClass2 extends MyClass
{
    public $public = 'Public2';
    protected $protected = 'Protected2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}
$obj2 = new MyClass2();
echo $obj2->public; // สามารถเรียกใช้ได้
echo $obj2->protected; // สามารถเรียกใช้ได้
echo $obj2->private; // ไม่สามารถเรียกใช้ได้
$obj2->printHello(); 
?>

VDO สอนเขียน PHP7
ที่มาของข้อมูล : Visibility การเข้าถึงตัวแปร
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: facebook.com [Crawler] และบุคลทั่วไป 40