Abstract Class ในภาษา PHP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

pataponnew
PHP Hero Member
PHP Hero Member
โพสต์: 152
ลงทะเบียนเมื่อ: 03/05/2021 10:18 am

Abstract Class ในภาษา PHP

โพสต์ที่ยังไม่ได้อ่าน โดย pataponnew »

Abstract class คือ class ที่ยังไม่สมบูรณ์ โดยจะเขียน abstract method ไว้เพื่อบังคับให้ คลาสลูกที่จะมาสืบทอดต้องเขียน Abstract method นี้ให้เสร็จ
ประโยชน์ของ Abstract class มีไว้สำหรับเป็นแม่แบบให้ให้คนอื่นมาใช้เพื่อพัฒนาโค้ดของเรา ดังนั้นฟังก์ชั่นใน Abstract class คือส่วนที่คลาสลูกที่สืบทอดจะต้องมาเติมเต็ม

ยกตัวอย่างการสร้าง Abstract class นะครับ

โค้ด: เลือกทั้งหมด

<?php 
abstract class Animal
{
  abstract public function howtoMove();  
  public function move()
  {
    "I am moving"
  }
}


class Fist extends Animal
{
  
  function howtoMove()
  {
    echo "Swim";
  }
}

class Tiger extends Animal
{
  
  function howtoMove()
  {
    echo "Run";
  }
}
class Bird extends Animal
{
  
  function howtoMove()
  {
    echo "Fly";
  }
}
 ?>
จากโค้ดจะเห็นว่าผมได้สร้างคลาส Animal เป็น Abstract class นะครับ โดย คลาส Fish,Tiger เเละ Bird จะเป็นคลาสที่มาเติมเต็มคลาสAnimal
ผมให้ฟังก์ชั่น move เป็น abstract method ของคลาส Animal เนื่องจากสัตว์สามารถเคลื่อนที่ได้ เเต่วิธีการเคลื่อนที่ไม่เหมือนกัน ดังนั้นจึงเป็นหน้าที่ของคลาสลูก
ที่จะมาเติมเต็ม method นี้ครับโดยจะเห็นว่าเราจะเขียนการทำงานของฟังก์ชั่นเเล้วเเต่เราจะกำหนดได้เลยในคลาสลูกที่สืบทอด

อ้างอิง
https://presstige.io/p/class-object-PHP-ddf8dbfe28b6409389f1a102435a4fa5
http://www.amplysoft.com/knowledge/Interface%20Class%20%E0%B8%81%E0%B8%B1%E0%B8%9A%20Abstract%20Class%20%E0%B9%81%E0%B8%95%E0%B8%81%E0%B8%95%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B8%81%E0%B8%B1%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3.html
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google Adsense [Bot] และบุคลทั่วไป 3