การสืบทอด
นำโค้ดกลับมาใช้ใหม่และเพิ่มความสามารถด้วยการสืบทอด
การสืบทอด เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 5 บทเรียน
การสืบทอดใน PHP
การสืบทอดใน PHP
ยินดีต้อนรับสู่บทเรียนถัดไป! ในบทเรียนนี้ คุณจะได้เรียนรู้เรื่องการสืบทอด ซึ่งเป็นแนวคิดหลักในการเขียนโปรแกรมเชิงวัตถุ (OOP) และช่วยให้คุณขยายความสามารถของคลาสได้ มาเริ่มกันเลย!

การสืบทอดคืออะไร
การสืบทอดคืออะไร
การสืบทอดเป็นกลไกใน OOP ที่ช่วยให้คลาสหนึ่ง (คลาสลูก) สืบทอดพร็อพเพอร์ตีและเมธอดจากอีกคลาสหนึ่ง (คลาสแม่) ได้ แนวทางนี้ส่งเสริมการนำโค้ดกลับมาใช้ใหม่และสร้างลำดับชั้นในการเขียนโปรแกรม
ตัวอย่าง: คลาส Car สามารถทำหน้าที่เป็นคลาสแม่ของคลาส Sedan และ SUV ได้
การกำหนดการสืบทอด
การกำหนดการสืบทอด
ใช้คีย์เวิร์ด extends เพื่อสร้างคลาสลูกที่สืบทอดจากคลาสแม่ ตัวอย่างเช่น:
เคล็ดลับ: ใช้การสืบทอดเพื่อหลีกเลี่ยงการเขียนโค้ดซ้ำ
<h2>Defining Inheritance</h2>
<p>Use the <code>extends</code> keyword to create a child class that inherits from a parent class. Example:</p>
การเขียนทับเมธอด
การเขียนทับเมธอด
คลาสลูกสามารถเขียนทับเมธอดจากคลาสแม่เพื่อให้การทำงานเฉพาะเจาะจงได้ ตัวอย่างเช่น:
<?php
class Vehicle {
public function drive() {
echo "Driving a generic vehicle.";
}
}
class Car extends Vehicle {
public function drive() {
echo "Driving a car.";
}
}
$car = new Car();
$car->drive(); // Outputs: Driving a car.
?>
คีย์เวิร์ด parent
คีย์เวิร์ด parent
ใช้คีย์เวิร์ด parent เพื่อเรียกใช้เมธอดของคลาสแม่ภายในเมธอดที่เขียนทับ ตัวอย่างเช่น:
<?php
class Vehicle {
public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
public function start() {
parent::start();
echo " Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the vehicle. Starting the car engine.
?>
ประโยชน์ของการสืบทอด
ประโยชน์ของการสืบทอด
การสืบทอดมีข้อดีดังต่อไปนี้:
- ส่งเสริมการนำโค้ดกลับมาใช้ใหม่
- สร้างลำดับชั้นของคลาสที่ชัดเจน
- ทำให้เกิดพหุรูป โดยเปิดให้คลาสลูกเขียนทับเมธอดได้
สมาชิกที่มีการป้องกัน
สมาชิกที่มีการป้องกัน
การสืบทอดยังทำงานร่วมกับสมาชิกที่มีการป้องกันได้ พร็อพเพอร์ตีและเมธอดที่มีการป้องกันสามารถเข้าถึงได้จากคลาสลูก แต่ไม่สามารถเข้าถึงจากภายนอกลำดับชั้นของคลาสได้ ตัวอย่างเช่น:
ประเด็นสำคัญ: ใช้ protected เพื่อแชร์สมาชิกระหว่างคลาสแม่และคลาสลูกอย่างปลอดภัย
<?php
class Vehicle {
protected $fuel;
public function setFuel($fuel) {
$this->fuel = $fuel;
}
}
class Car extends Vehicle {
public function getFuel() {
return $this->fuel;
}
}
$car = new Car();
$car->setFuel("Gasoline");
echo "Fuel: " . $car->getFuel(); // Outputs: Fuel: Gasoline
?>
คลาสนามธรรม
คลาสนามธรรม
คลาสนามธรรมมีโครงสร้างพื้นฐานสำหรับคลาสลูก แต่ไม่สามารถสร้างอินสแตนซ์ของตัวเองได้ ตัวอย่างเช่น:
ประเด็นสำคัญ: ใช้คลาสนามธรรมเมื่อต้องการบังคับให้คลาสลูกมีเมธอดบางอย่าง
<?php
abstract class Vehicle {
abstract public function start();
}
class Car extends Vehicle {
public function start() {
echo "Starting the car engine.";
}
}
$car = new Car();
$car->start(); // Outputs: Starting the car engine.
?>
คีย์เวิร์ดขั้นสุดท้าย
คีย์เวิร์ดขั้นสุดท้าย
คีย์เวิร์ด final จะป้องกันการสืบทอดต่อหรือการเขียนทับเพิ่มเติม ตัวอย่างเช่น:
เคล็ดลับ: ใช้ final เพื่อปกป้องเมธอดหรือคลาสไม่ให้ถูกขยายต่อ
<?php
class Vehicle {
final public function start() {
echo "Starting the vehicle.";
}
}
class Car extends Vehicle {
// Cannot override the start method
}
?>
เยี่ยมมาก!
เยี่ยมมาก!
ขอแสดงความยินดี! คุณได้เรียนรู้เรื่องการสืบทอดใน PHP รวมถึงวิธีขยายคลาส เขียนทับเมธอด และใช้คลาสนามธรรมแล้ว ในบทเรียนถัดไป เราจะศึกษาเรื่องการห่อหุ้มและตัวกำหนดการเข้าถึง มาเขียนโค้ดกันต่อเลย!

คำถามที่พบบ่อย
บทเรียน “การสืบทอด” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสืบทอด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสืบทอด”
นำโค้ดกลับมาใช้ใหม่และเพิ่มความสามารถด้วยการสืบทอด คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน
บทเรียน “การสืบทอด” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่การเขียนโปรแกรมเชิงวัตถุใน PHP
- การกำหนดคลาสและออบเจ็กต์
- การสืบทอด
- การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง
- พหุสัณฐาน