คุณสมบัติในการเขียนโปรแกรมเชิงวัตถุคืออะไร?
ในการเขียนโปรแกรมเชิงวัตถุ คุณสมบัติคือคุณลักษณะหรือคุณลักษณะของอ็อบเจ็กต์ที่สามารถเข้าถึงและแก้ไขได้ เป็นวิธีการห่อหุ้มข้อมูลภายในออบเจ็กต์และจัดให้มีอินเทอร์เฟซที่มีการควบคุมสำหรับการเข้าถึงและแก้ไขข้อมูลนั้น ตัวอย่างเช่น วัตถุ 'รถยนต์' อาจมีคุณสมบัติเช่น 'สี', 'สร้าง' และ 'รุ่น' ซึ่งอธิบาย รูปลักษณ์และข้อมูลจำเพาะของรถ วัตถุ `Car` จะมีเมธอดเช่น `drive()` และ `park()` ซึ่งจะควบคุมสถานะของรถ (เช่น สตาร์ทเครื่องยนต์ เข้าเกียร์)
คุณสมบัติโดยทั่วไปถูกกำหนดโดยใช้ getters และ setters ซึ่งเป็นวิธีการที่ให้คุณเข้าถึงและแก้ไขค่าของคุณสมบัติได้ ตัวอย่าง:
```
class Car {
private $color;
public function __construct($color) {
$this->color = $color;
}
public function getColor() {
return $this->color ;
}
public function setColor($newColor) {
$this->color = $newColor;
}
public function drive() {
// code เพื่อสตาร์ทเครื่องยนต์และนำรถเข้าเกียร์
}
public function park () {
// รหัสเพื่อดับเครื่องยนต์และวางรถไว้ใน park
}
}
```
ในตัวอย่างนี้ วัตถุ `Car` มีคุณสมบัติที่เรียกว่า `color` ซึ่งเป็นคุณสมบัติส่วนตัว (กล่าวคือ สามารถทำได้เท่านั้น เข้าถึงและแก้ไขได้โดยออบเจ็กต์เอง) เมธอด `getColor()` ช่วยให้คุณสามารถดึงค่าปัจจุบันของคุณสมบัติ `color` ได้ ในขณะที่เมธอด `setColor()` ช่วยให้คุณสามารถตั้งค่าใหม่สำหรับคุณสมบัติ `color` ได้
Properties เป็นแนวคิดพื้นฐานในวัตถุ - การเขียนโปรแกรมเชิงและจัดให้มีวิธีการห่อหุ้มข้อมูลภายในวัตถุและควบคุมการเข้าถึงข้อมูลนั้น



