ทำความรู้จักกับ Visibility เบื้องต้น

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

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

Post Reply
จันนุสรณ์ ดีแก่
PHP VIP Members
PHP VIP Members
Posts: 1478
Joined: 15/11/2018 10:01 am

ทำความรู้จักกับ Visibility เบื้องต้น

Post by จันนุสรณ์ ดีแก่ » 21/11/2018 5:35 pm

เวลาที่เราเขียนคลาสในภาษา PHP เราสามารถกำหนดให้ตัวแปรและฟังก์ชั่นภายในคลาสได้ว่าจะให้สามารถเรียกใช้ได้จากที่ไหนได้บ้าง เราเรียกมันว่า Visibility โดยเราสามารถกำหนดได้อยู่ 3 แบบคือ
1. public = สามารถเรียกได้ทุกที่ ทั้งภายในและภายนอกคลาส
2. private = สามารถเรียกได้เฉพาะในคลาสซึ่งเป็นการป้องกันในรูปแบบหนึ่ง
3. protected = สามารถเรียกได้เฉพาะในคลาส และคลาสที่มีการสืบทอดคลาส


ตัวอย่าง Visibility

Code: Select all

<html>
    <head>
        <meta charset="UTF-8">
        <title>OOP</title>
     <h1>OOP - Class Properties & Method</h1>
     
    </head>
    <body>
        <?php
        
        class animals {
            
            Public function myPublicFunc (){
                return "I am Public!";
            }
            
          Private function myPrivateFunc (){
                return "I am Private!";   
        }
         Protected function myProtectedFunc (){
                return "I am Public!";
         }
        
  function output (){//เป็นการเรียกการทำงานของแต่ล่ะฟังชั่น
      echo "Public function: ".$this->myPublicFunc()."<br/>";//เป็นการเรียกใช้ฟังชั่น Public function พร้อมแสดงผล 
      echo "Private function: ".$this->myPrivateFunc()."<br/>";//เป็นการเรียกใช้ฟังชั่น Private function พร้อมแสดงผล
      echo "Protected function: ".$this->myProtectedFunc()."<br/>";    //   เป็นการเรียกใช้ฟังชั่น Protected function พร้อมแสดงผล
    }
}
        $output = new animals(); //เป้นการกำหนดตัวแปรเอาพุตให้เท่ากับ new animals
        $output -> output ();
        ?>
    </body>
</html>
Screenshot (185).png
ผลลัพธ์
Screenshot (186).png

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 3 guests