⊗ppOpBsInr 1 of 107 menu

การแนะนำสู่ OOP ใน PHP

ตอนนี้เราจะมาศึกษา OOP ใน PHP กัน ลองมาดูตัวอย่างจากชีวิตจริง แล้วค่อยนำมันมาใช้ใน PHP

ในฐานะตัวอย่างลองพิจารณารถยนต์ มันมีล้อ สี ประเภทร่างรถ ปริมาตรเครื่องยนต์ และอื่นๆ นอกจากนั้นคนขับ สามารถสั่งคำสั่งให้มันได้: วิ่ง, หยุด, เลี้ยวขวา, เลี้ยวซ้าย เป็นต้น

เราสามารถพูดได้ว่ามีคลาสของรถยนต์อยู่ ซึ่งมีคุณสมบัติร่วมกัน (ทุกคันมีล้อและทุกคัน สามารถรับคำสั่งได้)

รถยนต์คันหนึ่งที่จอดอยู่บนถนน - นี่คือตัวแทนของคลาสนี้ หรือพูดอีกนัยหนึ่ง คืออ็อบเจกต์ของคลาสนี้ อ็อบเจกต์ทั้งหมด ของคลาสนี้มีคุณสมบัติ: จำนวนล้อ, สี, ประเภทร่างรถ และเมธอด: วิ่ง, หยุด, เลี้ยวขวา, เลี้ยวซ้าย

กล่าวคือตัวคลาสเองนั้นคือพิมพ์เขียว ที่โรงงานใช้ผลิตรถยนต์ ส่วนอ็อบเจกต์ คือตัวรถยนต์เองที่ถูกสร้างมาจากพิมพ์เขียวเหล่านั้น

ใน PHP คลาสถูกสร้างด้วยคีย์เวิร์ด class ตามด้วยชื่อ ของคลาสนั้น ลองสร้างคลาสCarกัน:

<?php class Car { // โค้ดตรงนี้ ก็คือพิมพ์เขียว PHP ของรถยนต์ } ?>

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

เพื่อการนี้ ภายในคลาสให้เขียนคุณสมบัติ $color และคุณสมบัติ$fuel:

<?php class Car { // กำหนดคุณสมบัติ (โดยพื้นฐานคือตัวแปรของคลาส): public $color; // สีของรถยนต์ public $fuel; // ปริมาณน้ำมันเชื้อเพลิง } ?>

ตอนนี้ลองสร้างเมธอดของคลาสเรากัน ใน PHP เมธอด เหมือนกับฟังก์ชันทั่วไป ถูกประกาศ ด้วยคีย์เวิร์ดfunction โดยหน้าคีย์เวิร์ดนี้จะเขียนคีย์เวิร์ด public

ตามที่ได้กล่าวไว้ข้างต้น รถยนต์ของเรา สามารถวิ่งได้ สามารถเลี้ยวได้ สามารถหยุดได้ มาสร้างเมธอดที่สอดคล้องกันในคลาสของเรากัน:

<?php class Car { public $color; // สีของรถยนต์ public $fuel; // ปริมาณน้ำมันเชื้อเพลิง // คำสั่งวิ่ง: public function go() { // โค้ด PHP บางอย่าง } // คำสั่งเลี้ยว: public function turn() { // โค้ด PHP บางอย่าง } // คำสั่งหยุด: public function stop() { // โค้ด PHP บางอย่าง } } ?>

เราทำพิมพ์เขียวของรถยนต์ของเราเสร็จแล้ว ตอนนี้ต้องไปที่โรงงานและสร้าง อ็อบเจกต์ของคลาสนี้ (นั่นคือ รถยนต์คันหนึ่งโดยเฉพาะ)

ใน PHP สิ่งนี้ทำได้ด้วยคีย์เวิร์ด new หลังจากที่เขียนชื่อคลาส:

<?php new Car; ?>

อย่างไรก็ตาม หากเพียงแค่สร้างอ็อบเจกต์ของคลาส - สิ่งนี้จะไม่นำไปสู่ผลใด (นี่เหมือนกับ การประกาศอาร์เรย์แล้วไม่ได้เก็บมันไว้ที่ไหน) เราต้องการตัวแปรสำหรับ เก็บอ็อบเจกต์นี้

ให้ตัวแปรนี้ชื่อว่า$myCar - เก็บอ็อบเจกต์ที่เราสร้างไว้ในนั้น:

<?php $myCar = new Car; ?>

หลังจากสร้างรถยนต์แล้ว สามารถเข้าถึง คุณสมบัติของมันได้ การเข้าถึงคุณสมบัติเกิดขึ้น ผ่านเครื่องหมายลูกศร-> ลองกำหนด คุณสมบัติของอ็อบเจกต์ของเรากัน:

<?php $myCar = new Car; // สั่งให้โรงงานสร้างรถยนต์ // กำหนดคุณสมบัติของอ็อบเจกต์: $myCar->color = 'red'; // ทาสีแดง $myCar->fuel = 50; // เติมน้ำมันเชื้อเพลิง ?>

เรียบร้อย รถยนต์ของเราถูกสร้างแล้ว ทาสีแล้วและเติมน้ำมันแล้ว ตอนนี้เราสามารถสั่งคำสั่งให้มันผ่าน เมธอดของรถยนต์คันนี้ได้

การเข้าถึงเมธอดก็เกิดขึ้นผ่าน เครื่องหมายลูกศรเช่นกัน แต่ ต่างจากคุณสมบัติ หลังจาก ชื่อเมธอดต้องเขียนเครื่องหมายวงเล็บ มาลองสั่งอ็อบเจกต์ของเรากัน:

<?php $myCar->go(); $myCar->turn(); $myCar->stop(); ?>
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ