PHP OOP
เรื่องของ Object-oriented programming เป็นเรื่องที่ต้องใช้เวลาศึกษาแม้ทุกวันนี้เหมือนตัวผมจะเข้าใจมัน แต่เอาเข้าจริงๆ เวลาถามคำถามกลับตอบอะไรไม่ได้เลย
ถึงแม้จะพอเข้าใจใน PHP OOP เบื้องต้น แต่ส่วนที่เป็นแก่นของ OOP ก็ยังเข้าไม่ถึงอยู่ดีโดยเฉพาะ Abstract Class และ Interface คืออะไร?
ทุกวันนี้ยังคงต้องค้นหา Google เพื่อแปลความหมายและอ่านคำอธิบายอยู่เรื่อยถึงกระนั้น ก็ยังพอมีความรู้ความเข้าใจได้เอามาบอกต่อกันอยู่บ้าง
วันนี้จะมาพูดถึงเรื่ององ Access Modifier ซึ่งสำคัญทีเดียวในการเขียน OOPเพราะถ้าไม่เข้าใจ อาจจะทำให้งุนงงกับการ Error ที่เหมือนไม่มีอะไรให้ errorในเวลาที่เรียกใช้ property หรือ method ที่ไม่อนุญาตให้เข้าถึงได้
ใน PHP จะมี visibility keyword เพื่อกำหนดการเข้าถึงตัวแปร (property) หรือ ฟังก์ชั่น (method)ด้วยกันทั้งหมด 3 ตัวด้วยกัน คือ private, protected, public
และความเข้มงวดในการป้องกันการเข้าถึงของ ตัวแปรในคลาส (property) กับ ฟังก์ชั่น (method) จะต่างกันเล็กน้อย
property จะเข้าถึงจาก Class อื่นๆ ได้เฉพาะที่เป็น publicmethod จะเข้าถึงได้ทั้งที่เป็น public และ protected แต่ protected แต่ฟังก์ชั่นที่ protected ต้องเป็นการ extends จากคลาสนั้นๆถึงจะสามารถเรียกใช้ได้
ในส่วนนี้จะขอยกตัวอย่างของการใช้งานฟังก์ชั่น (method)
public เหมือนพื้นที่สาธารณะ เช่น ห้องสมุด เราสามารถเข้าใช้ได้ตลอด เราสามารถตามใครก็ได้เข้าไปในห้องสมุด
protected เหมือนที่ทำงานเช่น เราจะตามใครสักคนเข้าไปในที่ทำงานเขาได้ไหม แน่นอนว่าไม่ได้หรอก แต่ถ้าเราเป็นพนักงานในบริษัทนั้นเราก็สามารถเข้านอกออกในได้สบายๆ นั่นก็คือการ extends คลาสหลักเพื่อขอเรียกใช้ฟังก์ชั่นภายในได้นั่นเอง
private เหมือนห้องนอนที่เป็นพื้นที่ส่วนตัวต่อให้เราเป็นเพื่อนพนักงานด้วยกัน (extends) ด้วยกัน แต่ก็ไม่สามารถปล่อยให้เข้าไปได้ยกเว้นคนภายในครอบครัวเท่านั้น (parents) หรือก็คือ คลาสของตัวมันเอง
และนี่ก็คือตัวอย่างของ Access Modifier ที่ใช้ควบคุมตัวแปร และ ฟังก์ชั่นภายใน Class เพื่อไม่ให้การทำงานของคลาสที่เราสร้างเกิดปัญหาจากผู้ใช้งานคนอื่นๆนั่นเอง
https://medium.com/nawawish/php-oop-basic-19d941f90d1a
PHP OOP - Access Modifiers
https://www.w3schools.com/php/php_oop_access_modifiers.asp
เครื่องมือทุ่นแรงสำหรับโปรแกรมเมอร์ PHP
ความคิดเห็น
แสดงความคิดเห็น