Polymorphism ในภาษา PHP

Polymorphism หรือ พหุสัณฐาน เป็นคุณสมบัติของภาษาโปรแกรมเชิงวัตถุ (OOP) ที่ช่วยให้สามารถใช้โค้ดเดียวกันกับวัตถุ (Object) ประเภทต่าง ๆ ได้

ประเภทของ Polymorphism:

  • Overloading: การใช้ชื่อฟังก์ชันเดียวกันกับพารามิเตอร์ต่าง ๆ
  • Overriding: การใช้ชื่อฟังก์ชันเดียวกันกับพารามิเตอร์เดียวกันในคลาสลูก

Overloading:

PHP

class Animal {
  public function makeSound() {
    echo "I am an animal.";
  }
}

class Dog extends Animal {
  public function makeSound() {
    echo "Woof!";
  }
}

class Cat extends Animal {
  public function makeSound() {
    echo "Meow!";
  }
}

$animal = new Animal();
$animal->makeSound(); // แสดง: I am an animal.

$dog = new Dog();
$dog->makeSound(); // แสดง: Woof!

$cat = new Cat();
$cat->makeSound(); // แสดง: Meow!

Overriding:

PHP

class Animal {
  public function makeSound() {
    echo "I am an animal.";
  }
}

class Dog extends Animal {
  public function makeSound() {
    echo "Woof!";
  }
}

$animal = new Animal();
$animal->makeSound(); // แสดง: I am an animal.

$dog = new Dog();
$dog->makeSound(); // แสดง: Woof!

ข้อควรระวัง:

  • Polymorphism ทำให้โค้ดมีความซับซ้อน
  • จำเป็นต้องเข้าใจกลไกการทำงานของ Polymorphism

แหล่งข้อมูล:

  • W3Schools: https://irinagyurjinyan.wordpress.com/2022/04/12/%D1%83%D1%80%D0%BE%D0%BA-19/
  • PHP.net: https://www.php.net/manual/en/language.oop5.php
Related Posts
 jquery vslidation remove spaces from input คืออะไร

jQuery validation remove spaces from input คือ ฟังก์ชันที่ใช้ลบช่องว่างออกจาก input field โดยใช้ jQuery วิธีใช้ JavaScri Read more

dimiss keyboard flutter คืออะไร

ใน Flutter dismiss keyboard หมายถึง การซ่อนแป้นพิมพ์เสมือนบนหน้าจอ วิธีการ dismiss keyboard ใช้ FocusNode: Dart imp Read more

bootstrap5 cdn คืออะไร

Bootstrap5 CDN คือ Content Delivery Network ของ Bootstrap 5 ซึ่งเป็นเฟรมเวิร์ก front-end ยอดนิยมที่ช่วยให้นักพัฒนาเว็บสร Read more

เขียนโค้ดดึงเนื้อหาจาก wordpress

โค้ดดึงเนื้อหาจาก WordPress วิธีดึงเนื้อหาจาก WordPress มีหลายวิธี ขึ้นอยู่กับประเภทของเนื้อหาที่ต้องการดึง ดึงบทความทั้ Read more