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 ความคิดเห็น:
แสดงความคิดเห็น