ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

การพ้องรูป (Polymorphism)

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

ตัวอย่างง่ายๆ สำหรับทำความเข้าใจเรื่องการพ้องรูป (Polymorphism)

ไฟล์ตัวอย่าง :: ex_code.php
<?php
class BaseClass
{
public function myMethod()
{
echo "BaseClass method called";
}
}
class DerivedClass extends BaseClass
{
public function myMethod()
{
echo "DerivedClass method called";
}
}
function processClass(BaseClass $c)
{
$c->myMethod();
}
$c = new DerivedClass();
processClass($c);
?>


ผลที่ได้
DerivedClass method called
ทั้งการเรียกให้ myMethod() ทำงานโดย function processClass()
หรือจะเรียกผ่าน วัตถุที่ถูกสร้างขึ้นมาแล้วชี้ไปที่ Method นั้นตรงๆเลยก็ได้? $c->myMethod();

ชื่อ
การพ้องรูป Polymorphism in PHP5 - OOP
หมวดหมู่
PHP OOP, PHP OOP
ฮิต
4186
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-14 22:57:29

OOP_07.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 463 bytes

ผู้อัพโหลดไฟล์ thatsawan

วันที่อัพโหลด 2014-05-14 15:57:14


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
ติดตั้ง Joomshopping เสร็จ แต่ไmponentม่แสดงบน cos มีวิธีแก้ไหมครับ
โดย Shiro Chisanupong ศ 24 พ.ย. 2017 9:47 pm บอร์ด Joomla Development
1
3
ศ 24 พ.ย. 2017 9:47 pm โดย mindphp
วิธีตั้ง timezone บน Ubuntu หลังจากติดตั้ง OS Linux อุบันตูไว้แล้วเราสามารถเปลี่ยน
โดย mindphp พฤ 23 พ.ย. 2017 11:15 pm บอร์ด Linux - Web Server
1
11
พฤ 23 พ.ย. 2017 11:15 pm โดย mindphp
เชื่อมต่อฐานข้อมูลได้แล้ว แต่บันทึกข้อมูลไม่ได้ค่ะ
โดย Wallapa พฤ 23 พ.ย. 2017 7:19 pm บอร์ด Programming - C/C++ & java & Python
0
13
พฤ 23 พ.ย. 2017 7:19 pm โดย Wallapa
ห้องนอนของ IT Support
โดย Before Dong พฤ 23 พ.ย. 2017 6:23 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
40
พฤ 23 พ.ย. 2017 6:23 pm โดย konseo
สอบถามการเขียน Selenium
โดย Panchalee พฤ 23 พ.ย. 2017 5:03 pm บอร์ด Programming - C/C++ & java & Python
0
8
พฤ 23 พ.ย. 2017 5:03 pm โดย Panchalee
เกี่ยวกับ schema version
โดย Minanda พฤ 23 พ.ย. 2017 2:28 pm บอร์ด Joomla Development
5
35
พฤ 23 พ.ย. 2017 2:28 pm โดย Minanda
รวมบทความสอน selenium Webdriver ภาษา Python
โดย nuattawoot พฤ 23 พ.ย. 2017 1:37 pm บอร์ด Python Knowledge
0
13
พฤ 23 พ.ย. 2017 1:37 pm โดย nuattawoot
สอบถามเรื่อง Python Framework Flask ไม่พบ URL ใน Server
โดย Panchalee พฤ 23 พ.ย. 2017 10:39 am บอร์ด Programming - C/C++ & java & Python
1
17
พฤ 23 พ.ย. 2017 10:39 am โดย nuattawoot
กู้คืนอีเมล์
โดย บุคคลทั่วไป พฤ 23 พ.ย. 2017 10:18 am บอร์ด Programming - PHP
2
16
พฤ 23 พ.ย. 2017 10:18 am โดย บุคคลทั่วไป
บันทึกข้อมูล ลงฐานข้อมูลไม่ได้ค่ะ
โดย Wallapa พ 22 พ.ย. 2017 3:39 pm บอร์ด Programming - C/C++ & java & Python
4
49
พ 22 พ.ย. 2017 3:39 pm โดย nuattawoot
เชื่อมต่อ Server ใน pgadmin ไม่ได้ค่ะ
โดย Panchalee พ 22 พ.ย. 2017 2:59 pm บอร์ด PostgreSQL
1
34
พ 22 พ.ย. 2017 2:59 pm โดย mindphp
context diagram ระบบบริหารบัญชีครัวเรือน
โดย Maprang Kannika พ 22 พ.ย. 2017 11:24 am บอร์ด SQL - Database
1
27
พ 22 พ.ย. 2017 11:24 am โดย jataz2
เมื่อค้น Google ว่า How to fixed Error 500 ?
โดย Before Dong พ 22 พ.ย. 2017 10:27 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
67
พ 22 พ.ย. 2017 10:27 am โดย konseo
ปัญหา ออกแบบพัฒนา
โดย บุคคลทั่วไป อ 21 พ.ย. 2017 8:15 pm บอร์ด Programming - PHP
0
24
อ 21 พ.ย. 2017 8:15 pm โดย บุคคลทั่วไป
รันโค้ดแล้ว Error ค่ะ
โดย Wallapa อ 21 พ.ย. 2017 5:24 pm บอร์ด Programming - C/C++ & java & Python
4
63
อ 21 พ.ย. 2017 5:24 pm โดย Wallapa
รันโค้ดแล้ว Error ค่ะ
โดย Wallapa อ 21 พ.ย. 2017 4:58 pm บอร์ด Programming - C/C++ & java & Python
1
37
อ 21 พ.ย. 2017 4:58 pm โดย mindphp
PostgreSQL คืออะไร MySQL คืออะไร
โดย Panchalee อ 21 พ.ย. 2017 1:40 pm บอร์ด PostgreSQL
1
38
อ 21 พ.ย. 2017 1:40 pm โดย jataz2
PostgreSQL กับ MySQL ต่างกันยังไงค่ะ?
โดย Wallapa อ 21 พ.ย. 2017 1:40 pm บอร์ด PostgreSQL
0
23
อ 21 พ.ย. 2017 1:40 pm โดย Wallapa
แจกฟรี!! ปฏิทิน CMS 2018
โดย Before Dong อ 21 พ.ย. 2017 11:23 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
3
58
อ 21 พ.ย. 2017 11:23 am โดย konseo
ขอทราบวิธีติดตั้ง แพ็กเกจ FFmpeg บน Windows หน่อยค่ะ
โดย Panchalee อ 21 พ.ย. 2017 10:32 am บอร์ด Python Knowledge
2
23
อ 21 พ.ย. 2017 10:32 am โดย nuattawoot