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

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

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

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

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

โพสต์โดย Ik Kat » 26/07/2017 4:13 pm

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 การเข้าถึงตัวแปร

ย้อนกลับไปยัง

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

กำลังดูบอร์ดนี้: 1 และ บุคคลทั่วไป 0 ท่าน