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

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

การสืบทอดคุณสมบัติ Inheritance ของ php5

ในการเขียนโปรแกรมแบบ OOPจำเป็นต้องมีการสืบทอดคุณสมบัติของคลาสแม่ไปยังคลาสลูก โดยใช้ keyword extends
เมื่อเราสร้างคลาสใหม่ขึ้นมาใหม่โดยต้องการคุณสมบัติต่างๆของคลาสอื่น(คลาสแม่) ก็จำเป็นต้องใช้ การ extends โดยการสร้างคลาสใหม่ตามรูปแบบนี้

class children extends parent 

นอกจากนั้นแล้วเรายังสามารถกำหนดการเข้าถึงคุณสมบัติต่างๆ ของคลาสแม่ได้ด้วย โดยกำหนด Attributes ของ Class ใน php5 ซึ่งประกอบด้วย
(Private Protected Public ) อ่านต่อเพิ่มเติมที่หัวข้อ การกำหนด Attributes ของ Class ใน php5 Private Protected Public การสืบทอดคุณสมบัติสามารถทำได้คลาสต่อคลาสเท่านั้น (Inheritance ) ได้ชั้นเดียว การตั้งชื่อคลาสหน้าตั้งชื่อ parent ตัวอย่างเช่น คลาสชื่อ parent ไม่ได้

ไฟล์ตัวอย่าง :: ex_code_1.php
<?php 
class parent //Generates an error
{
private $firstname;
private $lastname;
}
class children extends parent
{
function __construct()
{
echo $this->firstname;
echo $this->lastname;
}
}
$a = new children();
?>

ตัวอย่างง่ายๆ สำหรับอธิบายการสืบทอด (Inheritance)

ไฟล์ตัวอย่าง :: ex_code_2.php
<?php
class parent1
{
protected $firstname = 11;
protected $lastname = 23;
}
class children extends parent1
{
function __construct()
{
echo $this->firstname;
echo $this->lastname;
}
}
$a = new children();
?>

ผลที่ได้ 1123
คลาส Parent1 จะส่งคุณสมบัติต่างๆของมันไปให้ คลาส chidren children ก็สามารถใช้งาน attributes $firstname และ$lastname ได้

ตัวอย่างการเข้าถึง private Data ในการสืบทอด

ไฟล์ตัวอย่าง :: ex_code_3.php
<?php
class parent1
{
private $firstname = "hitesh";
protected $lastname = 23;

protected function getData()
{
return $this->firstname;
}
}
class children extends parent1
{
function __construct()
{
echo $this->getData();
}
}
$a = new children();
?>

ผลที่ได้ hitesh
ตามตัวอย่างนี้คลาส children ไม่สามารถเรียกใช้ attributes $firstname ได้โดยตรงแต่สามารถเรียกผ่าน method ของ คลาสแม่ได้

หัวเรื่อง
การสืบทอดคุณสมบัติ Inheritance ของ php5 - OOP
หมวดหมู่
PHP OOP, PHP OOP
ฮิต
18134
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-15 00:17:45

OOP_08.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.04 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
เงื่อนไข การค้นหา คำที่อยากให้มี และ คำที่ไม่อยากให้มี
โดย 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