Encapsulation ก็คือการปกป้องข้อมูลของอ็อบเจกต์ ด้วยการใช้คีย์เวิร์ด อย่าง public, private, protected การใช้งาน public โดยปกติค่าพื้นฐานของ property กับ method จะเป็น public อยู่แล้วโดยไม่ต้องใส่ public จะใส่หรือไม่ใส่ก็ได้ ท่านจะเขียนแแบบนี้ var $name; หรือแบบนี้ public $name; ก็ได้....
Encapsulation ก็คือการปกป้องข้อมูลของอ็อบเจกต์ ด้วยการใช้คีย์เวิร์ด อย่าง public, private, protected
วิธีการก็คือ ใช้คีย์เวิร์ดเหล่านี้วางไว้ขางหน้า property และ method
property = variable(ตัวแปร)
method = function(ฟังก์ชั่น)
Public = สามารถใช้งานได้ทั่วไป
Private = สามารถเข้าใช้ได้เฉพาะภายในคลาส
Protected = สามารถเข้าใช้ได้ภายในคลาส และคลาสที่สืบทอด(extends)จากคลาสแม่
การใช้งาน public โดยปกติค่าพื้นฐานของ property กับ method จะเป็น public อยู่แล้วโดยไม่ต้องใส่
public จะใส่หรือไม่ใส่ก็ได้
ท่านจะเขียนแแบบนี้ var $name; หรือแบบนี้ public $name; ก็ได้
property หรือ method ที่ถูกกำหนดให้เป็น public สามารถเรียกใช้จากภายนอก Class
ได้ทันทีที่กำหนดอ็อบเจกต์ เช่น
class Human{ var $name = 'Bookneo'; }หรือ
class Human{ public $name = 'Bookneo'; }ผมสามารถเรียกใช้ ด้วยการสร้างอ็อบแบบนี้
$Myname = new Human(); echo $Myname->name;ส่วน private ไม่สามารถเรียกใช้จากภายนอกได้ แต่สามารถเรียกใช้ภายใน Class ได้ เช่น
class Human{ private $name = 'Bookneo'; function getName(){ return $this->name; } }return คือการคืนค่ากลับออกไปผ่าน method
$this คือการเชื่อมโยงระหว่าง property กับ method โดยการใช้เครื่องหมาย -> ชี้ตำแหน่ง
เรียกใช้
$Myname = new Human(); echo $Myname->getName();ทีนี้ผมจะสร้างไฟล์ขึ้นมา 2 ไฟล์ คือ index.php กับ Myclass.php
ไฟล์ Myclass.php ผมจะสร้าง method ขึ้นมา 2 method คือ setName กับ getName
method setName จะรับค่ามา 1 ค่า เริ่มต้นด้วยการเซ็ตค่าว่างให้เป็นค่าพื้นฐาน
method getName จะคืนค่ากลับออกไป
รูปแบบ
class Human { function setName($name = ''){ $this->name = $name; } function getName(){ return $this->name; } }ไฟล์ index.php ผมจะส่งค่าไปให้กับ method setName แบบนี้
$Myname->setName('Bookneo');
ไฟล์ index.php
<!DOCTYPE html> <html> <head> <mata>charset=utf-8</mata> <title></title> </head> <body> <?php require_once('Myclass.php'); $Myname = new Human(); $Myname->setName('Bookneo'); echo $Myname->getName(); ?> </body> </html>
สำหรับบทความนี้ก็ขอจบเพียงเท่านี้.....
0 ความคิดเห็น:
แสดงความคิดเห็น