ให้เรตสมาชิก: 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
ฮิต
12408
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-14 22:57:29

OOP_07.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 463 bytes

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อยากทราบวิธีการสร้าง ส่วนตอบกลับ โพสต์ แบบย่อย ใน phpbb
โดย Ittichai_chupol พฤ 14 ก.พ. 2019 4:51 pm บอร์ด Programming - PHP
0
24
พฤ 14 ก.พ. 2019 4:51 pm โดย Ittichai_chupol
B - เพิ่ม Channel ไปแล้วกด Save แล้วตรงฟิล Options ขึ้น error
โดย Parichat พฤ 14 ก.พ. 2019 4:31 pm บอร์ด MlineCRM Line + MD-CRM
0
2
พฤ 14 ก.พ. 2019 4:31 pm โดย Parichat
Q - สอบถามการเรียกใช้ตัวแปรข้ามฟังก์ชัน python
โดย ธวัชชัย แสนหาญ พฤ 14 ก.พ. 2019 3:06 pm บอร์ด Python Knowledge
3
41
พฤ 14 ก.พ. 2019 4:54 pm โดย ธวัชชัย แสนหาญ
วิธีการสร้าง User Password Odoo12 CRM
โดย ณัฐกฤตา บุญญะฤทธิ์ พฤ 14 ก.พ. 2019 2:22 pm บอร์ด MlineCRM Line + MD-CRM
0
18
พฤ 14 ก.พ. 2019 2:22 pm โดย ณัฐกฤตา บุญญะฤทธิ์
รวมคู่มือ MlineCRM Line + MD-CRM
โดย Parichat พฤ 14 ก.พ. 2019 2:14 pm บอร์ด MlineCRM Line + MD-CRM
3
14
อ 19 ก.พ. 2019 4:52 pm โดย Parichat
ต้องการหาวันที่ย้อนหลัง 120 วัน ว่าเป็นวันที่เท่าไหร่ จะทำยังไงได้บ้าง
โดย thatsawan พฤ 14 ก.พ. 2019 11:27 am บอร์ด Programming - C/C++ & java & Python
3
53
พฤ 14 ก.พ. 2019 11:46 am โดย mindphp
งานประจำวันที่ 14 กุมภาพันธ์ 2562
โดย Four พฤ 14 ก.พ. 2019 9:52 am บอร์ด M077 - อิษยา งามสอาด
1
19
พฤ 14 ก.พ. 2019 6:51 pm โดย Four
Introducing Mod MDFiles Featured MDFiles popular modules bring files from MDFile to show.
โดย wipaporn พ 13 ก.พ. 2019 6:51 pm บอร์ด English Language
0
41
พ 13 ก.พ. 2019 6:51 pm โดย wipaporn
การใช้งาน Python GUI (Tkinter) : Tkinter widget (Cursors)การแสดงผลตัวชี้เมาส์บน
โดย ธวัชชัย แสนหาญ พ 13 ก.พ. 2019 6:48 pm บอร์ด Python Knowledge
0
79
พ 13 ก.พ. 2019 6:48 pm โดย ธวัชชัย แสนหาญ
Introducing MDFiles Featured modules bring files from MDFile to show
โดย wipaporn พ 13 ก.พ. 2019 6:34 pm บอร์ด English Language
0
31
พ 13 ก.พ. 2019 6:34 pm โดย wipaporn
Introducing Editors XTD Multicontent, a plugin for pulling articles from Master Site into Web Clien.
โดย wipaporn พ 13 ก.พ. 2019 6:05 pm บอร์ด English Language
0
31
พ 13 ก.พ. 2019 6:05 pm โดย wipaporn
Introducing MJUpgrade for upgrading Joomla 1.5 to Joomla 2.5, 3.X
โดย wipaporn พ 13 ก.พ. 2019 6:03 pm บอร์ด English Language
0
29
พ 13 ก.พ. 2019 6:03 pm โดย wipaporn
Introducing the Mod vinaora visitors counter for counting website visits in joomla
โดย wipaporn พ 13 ก.พ. 2019 6:01 pm บอร์ด English Language
0
26
พ 13 ก.พ. 2019 6:01 pm โดย wipaporn
Introducing MVDO plugin for uploading Youtube videos and Clipmass
โดย wipaporn พ 13 ก.พ. 2019 5:58 pm บอร์ด English Language
0
24
พ 13 ก.พ. 2019 5:58 pm โดย wipaporn
Introducing MD Gallery Components for creating photo galleries on Joomla 3.x website
โดย wipaporn พ 13 ก.พ. 2019 5:54 pm บอร์ด English Language
0
25
พ 13 ก.พ. 2019 5:54 pm โดย wipaporn
ถ้าเปรียบชีวิตมี ค่า 100 %
โดย จันนุสรณ์ ดีแก่ พ 13 ก.พ. 2019 5:30 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
33
พ 13 ก.พ. 2019 5:30 pm โดย จันนุสรณ์ ดีแก่
Plugin MD Watermark 소개, 자동 워터마킹용 플러그
โดย wipaporn พ 13 ก.พ. 2019 3:53 pm บอร์ด korean Language - 한국어
0
30
พ 13 ก.พ. 2019 3:53 pm โดย wipaporn
PayToRead 소개. 플러그인은 일부 텍스트만 보여준다.
โดย wipaporn พ 13 ก.พ. 2019 3:51 pm บอร์ด korean Language - 한국어
0
19
พ 13 ก.พ. 2019 3:51 pm โดย wipaporn
Facebook에 웹 사이트 회원 등록을 돕기 위한 Component MFacebook 소개
โดย wipaporn พ 13 ก.พ. 2019 3:48 pm บอร์ด korean Language - 한국어
0
22
พ 13 ก.พ. 2019 3:48 pm โดย wipaporn
"Module Mrelated Article Specific Category"(저장소 검색 이력)을 소개한다
โดย wipaporn พ 13 ก.พ. 2019 3:46 pm บอร์ด korean Language - 한국어
0
24
พ 13 ก.พ. 2019 3:46 pm โดย wipaporn