Skip to main content

เนื้อหาภาษาไทย / Thai content

System guide Content reviewed

Class และ Object: พื้นฐานการสร้าง Model

บทความนี้อธิบายถึง Class และ Object ซึ่งเป็นหัวใจสำคัญของ OOP โดย Class เปรียบเสมือนพิมพ์เขียวที่กำหนดคุณสมบัติและพฤติกรรม (Properties และ Methods) ส่วน Object...

Class และ Object: พื้นฐานการสร้าง Model

ในบทที่แล้ว เราได้ทำความเข้าใจพื้นฐานของ OOP กันไปแล้วว่ามันคืออะไร ทำไมเราถึงควรใช้ และมันแตกต่างจากการเขียนโปรแกรมแบบเดิมๆ อย่างไร ในบทนี้ เราจะมาเจาะลึกถึงหัวใจสำคัญของ OOP นั่นก็คือ Class และ Object

Class คืออะไร?

ลองจินตนาการว่า Class คือ "พิมพ์เขียว" หรือ "แม่พิมพ์" สำหรับการสร้าง Object ถ้าเราต้องการสร้างบ้าน Class ก็เปรียบเสมือนแบบแปลนบ้านที่กำหนดว่าบ้านจะมีกี่ห้อง แต่ละห้องมีขนาดเท่าไหร่ ใช้วัสดุอะไรบ้าง

ในทางเทคนิค Class คือโครงสร้างที่กำหนดคุณสมบัติ (Properties) และพฤติกรรม (Methods) ของ Object ที่จะถูกสร้างขึ้นจาก Class นั้น

คำศัพท์สำคัญ:

  • Class: พิมพ์เขียวหรือแม่พิมพ์สำหรับสร้าง Object
  • Properties: คุณสมบัติหรือลักษณะของ Object (เช่น สี, ขนาด, ชื่อ)
  • Methods: พฤติกรรมหรือการกระทำที่ Object สามารถทำได้ (เช่น เดิน, กิน, นอน)

การประกาศ Class ใน PHP

การประกาศ Class ใน PHP ทำได้โดยใช้ keyword class ตามด้วยชื่อ Class และปีกกา {}

<?php

class Dog {
    // Properties (คุณสมบัติ)
    // Methods (พฤติกรรม)
}

?>

ในตัวอย่างนี้ เราได้สร้าง Class ชื่อ Dog ขึ้นมา แต่ตอนนี้ Class ยังว่างเปล่า ยังไม่มี Properties หรือ Methods ใดๆ เราจะเพิ่มรายละเอียดเหล่านี้ในบทต่อไป

Object คืออะไร?

Object คือ "สิ่งที่ถูกสร้างขึ้น" จาก Class ถ้า Class คือแบบแปลนบ้าน Object ก็คือบ้านที่สร้างเสร็จแล้วตามแบบแปลนนั้น

Object เป็น Instance (สำเนา) ของ Class ที่มีคุณสมบัติและพฤติกรรมตามที่ Class กำหนด แต่ละ Object สามารถมีค่าของ Properties ที่แตกต่างกันได้

คำศัพท์สำคัญ:

  • Object: Instance (สำเนา) ของ Class
  • Instance: สิ่งที่ถูกสร้างขึ้นจาก Class

การสร้าง Object ใน PHP

การสร้าง Object จาก Class ใน PHP ทำได้โดยใช้ keyword new ตามด้วยชื่อ Class และวงเล็บ ()

<?php

class Dog {
    // Properties (คุณสมบัติ)
    // Methods (พฤติกรรม)
}

$myDog = new Dog(); // สร้าง Object ชื่อ $myDog จาก Class Dog

?>

ในตัวอย่างนี้ เราได้สร้าง Object ชื่อ $myDog จาก Class Dog ตอนนี้ $myDog เป็น Instance ของ Class Dog และสามารถเข้าถึง Properties และ Methods ที่กำหนดไว้ใน Class ได้ (ซึ่งตอนนี้ยังไม่มี)

ความสัมพันธ์ระหว่าง Class และ Object

Class และ Object มีความสัมพันธ์กันอย่างใกล้ชิด Class เป็นเหมือนแม่พิมพ์ ส่วน Object เป็นสิ่งที่ถูกสร้างขึ้นจากแม่พิมพ์นั้น

Class กำหนดโครงสร้างและพฤติกรรมของ Object ในขณะที่ Object เป็น Instance ที่มีข้อมูลจริงตามที่กำหนดไว้ใน Class

ลองดูตัวอย่างง่ายๆ นี้:

<?php

class Car {
    public $color; // Property: สีรถ

    public function honk() { // Method: การบีบแตร
        echo "Beep beep!";
    }
}

$myCar = new Car();
$myCar->color = "Red"; // กำหนดสีรถเป็นสีแดง

echo "My car is " . $myCar->color . "<br>"; // แสดงผล: My car is Red
$myCar->honk(); // เรียกใช้ Method honk() แสดงผล: Beep beep!

?>

ในตัวอย่างนี้:

  • Car คือ Class ที่กำหนดว่ารถจะมี Property ชื่อ color และ Method ชื่อ honk()
  • $myCar คือ Object ที่ถูกสร้างขึ้นจาก Class Car
  • $myCar->color = "Red"; กำหนดค่าของ Property color ของ $myCar ให้เป็น "Red"
  • $myCar->honk(); เรียกใช้ Method honk() ของ $myCar

สรุป

ในบทนี้ เราได้เรียนรู้เกี่ยวกับ:

  • ความหมายของ Class และ Object
  • การประกาศ Class ใน PHP
  • การสร้าง Object จาก Class ใน PHP
  • ความสัมพันธ์ระหว่าง Class และ Object

Class และ Object เป็นพื้นฐานที่สำคัญที่สุดในการเขียนโปรแกรมเชิงวัตถุ การเข้าใจแนวคิดเหล่านี้จะช่วยให้เราสามารถออกแบบและพัฒนาซอฟต์แวร์ที่มีโครงสร้างที่ดีขึ้น นำโค้ดกลับมาใช้ใหม่ได้ง่ายขึ้น และมีความยืดหยุ่นมากขึ้น

ในบทต่อไป เราจะมาเรียนรู้เกี่ยวกับการกำหนด Properties (คุณสมบัติ) ของ Object ให้ละเอียดมากยิ่งขึ้น

Office.in.th Custom Service

Want to build or adapt a system from this structure?

Office.in.th designs and develops enterprise web applications, API integrations, and public- and private-sector management systems, with long-term support.

See our software development service