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

OOP_07.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 463 bytes

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เงื่อนไข การค้นหา คำที่อยากให้มี และ คำที่ไม่อยากให้มี
โดย aninthana ส 21 ก.ย. 2019 6:03 pm บอร์ด PHP Knowledge
0
10
ส 21 ก.ย. 2019 6:03 pm โดย aninthana
ทำยังไง border ทั้งบอร์ดเป็น link ให้เรากดได้ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 4:58 pm บอร์ด HTML CSS
1
13
ส 21 ก.ย. 2019 5:47 pm โดย mindphp
path way เมือกด step ถัดไปstep ที่เคยผ่านมาจะมีแท็ก a เพิ่มขึ้นทำให้ไปปิดตัวอักษร ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 3:30 pm บอร์ด HTML CSS
0
8
ส 21 ก.ย. 2019 3:30 pm โดย jamepiyawat
อยากทราบวิธีที่จะทำให้คำสั่ง css เปลี่ยนไปตามการตั้งค่าสีของ tamplate ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 2:55 pm บอร์ด Joomla Development
2
18
ส 21 ก.ย. 2019 3:19 pm โดย jamepiyawat
Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ
โดย birdkritsna ส 21 ก.ย. 2019 11:01 am บอร์ด Programming - PHP
11
81
ส 21 ก.ย. 2019 5:15 pm โดย birdkritsna
การ Install ส่วนขยาย
โดย Anonymous ส 21 ก.ย. 2019 11:11 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
15
ส 21 ก.ย. 2019 3:09 pm โดย mindphp
งานประจำวันที่ 21 กันยายน 2562
โดย aninthana ส 21 ก.ย. 2019 10:27 am บอร์ด M092 - อนินธนา บุญยัง
2
12
ส 21 ก.ย. 2019 6:34 pm โดย aninthana
งานประจำวันที่ 21 กันยายน 2562
โดย jirawoot ส 21 ก.ย. 2019 10:18 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
4
ส 21 ก.ย. 2019 7:07 pm โดย jirawoot
งานประจำวันที่ 21 กันยายน 2562
โดย birdkritsna ส 21 ก.ย. 2019 10:12 am บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
2
15
ส 21 ก.ย. 2019 6:21 pm โดย birdkritsna
งานประจำวันที่ 21 กันยายน 2562
โดย chatee supasand ส 21 ก.ย. 2019 10:10 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
8
ส 21 ก.ย. 2019 7:26 pm โดย chatee supasand
งานประจำวันที่ 21 กันยายน 2562
โดย jamepiyawat ส 21 ก.ย. 2019 10:07 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
10
ส 21 ก.ย. 2019 7:36 pm โดย jamepiyawat
การบันทึกบัญชี รับเงินมัดจำในเดือนกับข้ามเดือน บันทึกยังไง แตกต่างกันมั้ยค่ะ
โดย thatsawan ศ 20 ก.ย. 2019 8:08 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
2
24
ส 21 ก.ย. 2019 5:09 pm โดย thatsawan
ทำความรู้จัก Cloud
โดย aninthana ศ 20 ก.ย. 2019 8:01 pm บอร์ด Linux - Web Server
0
13
ศ 20 ก.ย. 2019 8:01 pm โดย aninthana
เปรียบเทียบ smart watch รุ่นต่างๆ จากหลายๆค่าย รุ่นไหนโดน รุ่นไหนดี มารับชมกันได้เลย
โดย chatee supasand ศ 20 ก.ย. 2019 5:41 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
23
ศ 20 ก.ย. 2019 5:41 pm โดย chatee supasand
วิธีสมัครและใช้งาน api อัตราแลกเปลี่ยนเงินตรา จาก ธนาคารแห่งประเทศไทย ด้วย php
โดย birdkritsna ศ 20 ก.ย. 2019 4:14 pm บอร์ด PHP Knowledge
0
23
ศ 20 ก.ย. 2019 4:14 pm โดย birdkritsna
จะทำ path way เป็นลูกศรชีต้องทำยังไงครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 3:50 pm บอร์ด HTML CSS
0
15
ศ 20 ก.ย. 2019 3:50 pm โดย jamepiyawat
อยากทราบวิธีที่จะทำให้เมือเรากดปุ่มซื้อสินค้าแล้วจะมีหน้า pop เด้งขึ้นมาครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 3:30 pm บอร์ด HTML CSS
0
11
ศ 20 ก.ย. 2019 3:30 pm โดย jamepiyawat
อยากทราบวิธีทำปุ่มกดสลับค่าระหว่าง list box ครับ
โดย birdkritsna ศ 20 ก.ย. 2019 2:59 pm บอร์ด Programming - PHP
7
68
ส 21 ก.ย. 2019 5:41 pm โดย thatsawan
ระดับ User นี้มีข้อจำกัดอะไรบ้างครับ
โดย Patipat ศ 20 ก.ย. 2019 2:45 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
21
ศ 20 ก.ย. 2019 2:50 pm โดย tsukasaz
ทำไมโค้ดของผมแสดงผลชื่อจังหวัดชื่ออำเภอผิดครับ
โดย jamepiyawat ศ 20 ก.ย. 2019 2:20 pm บอร์ด JavaScript & Jquery Ajax
8
50
ศ 20 ก.ย. 2019 3:22 pm โดย jamepiyawat