0Pricing
PHP Academy · บทเรียน

การสืบทอด

นำโค้ดกลับมาใช้ใหม่และเพิ่มความสามารถด้วยการสืบทอด

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

การสืบทอดใน PHP

การสืบทอดใน PHP

ยินดีต้อนรับสู่บทเรียนถัดไป! ในบทเรียนนี้ คุณจะได้เรียนรู้เรื่องการสืบทอด ซึ่งเป็นแนวคิดหลักในการเขียนโปรแกรมเชิงวัตถุ (OOP) และช่วยให้คุณขยายความสามารถของคลาสได้ มาเริ่มกันเลย!

การสืบทอด — ภาพประกอบ 1

การสืบทอดคืออะไร

การสืบทอดคืออะไร

การสืบทอดเป็นกลไกใน 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 รวมถึงวิธีขยายคลาส เขียนทับเมธอด และใช้คลาสนามธรรมแล้ว ในบทเรียนถัดไป เราจะศึกษาเรื่องการห่อหุ้มและตัวกำหนดการเข้าถึง มาเขียนโค้ดกันต่อเลย!

การสืบทอด — ภาพประกอบ 11

คำถามที่พบบ่อย

บทเรียน “การสืบทอด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การสืบทอด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่การเขียนโปรแกรมเชิงวัตถุใน PHP
  2. การกำหนดคลาสและออบเจ็กต์
  3. การสืบทอด
  4. การห่อหุ้มและตัวปรับเปลี่ยนการเข้าถึง
  5. พหุสัณฐาน
← กลับไปที่ PHP Academy