public, private, และ protected ใน PHP OOP

เวลาที่เราเขียนคลาสในภาษา PHP เราสามารถกำหนดให้ตัวแปรและฟังก์ชั่นภายในคลาสได้ (รู้สึกว่าเค้าจะเรียกกันว่า method) ว่าจะให้สามารถเรียกใช้ได้จากที่ไหนได้บ้าง  ซึ่งเราเรียกมันว่า Visibility ครับ  โดยเราสามารถกำหนดได้อยู่ 3 แบบคือ

  1. public สามารถเรียกได้ทุกที่  ทั้งภายในและภายนอกคลาส
  2. private สามารถเรียกได้เฉพาะในคลาส
  3. protected สามารถเรียกได้เฉพาะในคลาส และคลาสที่ขยายคลาสนี้

เราสามารถสรุปเรื่อง visibility ได้สั้นๆดัง 3 ข้อด้านบนครับ  ถ้าเข้าใจก็เรียกได้ว่าจบเนื้อหาตอนนี้  แต่ถ้ายังไม่เข้าใจ  ลองไปดูตัวอย่างยาวๆ กันครับ

ตัวอย่างนี้จะเป็นโค๊ดของคลาสสองตัว  โดยตัวที่หนึ่งจะมีการสร้างฟังก์ชั่นภายในเอาไว้สามตัว  เป็นทั้ง public, private, และ protected ส่วนคลาสที่สองจะมาขยาย (extends) คลาสแรก  เพื่อทดสอบการเรียกใช้ฟังก์ชั่นแบบ protected ครับ

Read More