ให้เรตสมาชิก: 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
ฮิต
17502
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-15 00:17:45

OOP_08.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.04 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สรุป openERP
โดย jirawoot จ 15 ก.ค. 2019 8:01 pm บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
2
จ 15 ก.ค. 2019 8:01 pm โดย jirawoot
Youtube สามารถฟังเสียงแล้วถอดเป็นข้อความได้
โดย jamepiyawat จ 15 ก.ค. 2019 7:11 pm บอร์ด Share Knowledge
0
15
จ 15 ก.ค. 2019 7:11 pm โดย jamepiyawat
วิธีทำให้ Title joomla Module เปลี่ยนภาษาได้
โดย jamepiyawat จ 15 ก.ค. 2019 6:07 pm บอร์ด Joomla user Guide Knowledge
0
10
จ 15 ก.ค. 2019 6:07 pm โดย jamepiyawat
วิธีแก้ error ของการติดตั้ง psycopg2 หรือ psycopg2_binary
โดย jirawoot จ 15 ก.ค. 2019 5:48 pm บอร์ด Python Knowledge
0
9
จ 15 ก.ค. 2019 5:48 pm โดย jirawoot
การเปิดไฟล์ PDF อีกแท็บนึง ด้วย target ใน html
โดย chatee supasand จ 15 ก.ค. 2019 5:42 pm บอร์ด Programming - C/C++ & java & Python
0
15
จ 15 ก.ค. 2019 5:42 pm โดย chatee supasand
ฟังก์ชัน ip2long() - ใช้เก็บ IP ลงฐานข้อมูลทำให้ประหยัดพื้นที่
โดย Patipat จ 15 ก.ค. 2019 5:33 pm บอร์ด PHP Knowledge
0
14
จ 15 ก.ค. 2019 5:33 pm โดย Patipat
เราจะ SELECT หลายตาราง ออกมาใช้งานโดนที่ไม่ต้องเชื่อมตารางกันได้ไหมครับ
โดย jamepiyawat จ 15 ก.ค. 2019 5:10 pm บอร์ด SQL - Database
1
17
จ 15 ก.ค. 2019 5:56 pm โดย tsukasaz
ทำไมเมื่อวานมันยังได้ ????
โดย chatee supasand จ 15 ก.ค. 2019 5:09 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
14
จ 15 ก.ค. 2019 5:09 pm โดย chatee supasand
สอบถามครับ-เรียกฐานข้อมูลมาแสดง เป็นภาษาไทยไม่ได้อะครับ ขึ้น error Ascii
โดย chatee supasand จ 15 ก.ค. 2019 4:17 pm บอร์ด Programming - C/C++ & java & Python
2
20
จ 15 ก.ค. 2019 8:12 pm โดย chatee supasand
รู้จักกับ ฟังก์ชัน hypot() - ใช้คำนวณความยาวตรงข้ามด้านสามเหลี่ยมมุมฉาก
โดย Patipat จ 15 ก.ค. 2019 4:08 pm บอร์ด PHP Knowledge
1
17
จ 15 ก.ค. 2019 4:27 pm โดย mindphp
ศึกษาทำความเข้าใจ-บุญนำพา
โดย EyePornnipa จ 15 ก.ค. 2019 3:42 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
14
จ 15 ก.ค. 2019 3:42 pm โดย EyePornnipa
สอบถาม การติดตั้ง library ด้วย requirements.txt
โดย jirawoot จ 15 ก.ค. 2019 2:57 pm บอร์ด Programming - C/C++ & java & Python
3
25
จ 15 ก.ค. 2019 4:39 pm โดย jirawoot
ใช้งานหลายหน้าจอด้วย desktops V2.0 บน Windows
โดย chatee supasand จ 15 ก.ค. 2019 12:00 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
16
จ 15 ก.ค. 2019 12:00 pm โดย chatee supasand
อยากทราบวิธีทำให้ สไลด์โชว์สินค้า เป็นแบบ Responsive แสดง Product ตามที่เรากำหนดขนาดหน้าจอ
โดย Patipat จ 15 ก.ค. 2019 11:52 am บอร์ด Joomla Development
6
36
จ 15 ก.ค. 2019 3:01 pm โดย Patipat
รับสมัคร Helpdesk, Programmer, Tester, System
โดย ปัทมา แซ่เฮ้ง จ 15 ก.ค. 2019 11:51 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
จ 15 ก.ค. 2019 11:51 am โดย ปัทมา แซ่เฮ้ง
สอบถาม path directory ของ server ubuntu หน่อยครับ
โดย jirawoot จ 15 ก.ค. 2019 11:12 am บอร์ด Programming - C/C++ & java & Python
2
20
จ 15 ก.ค. 2019 7:50 pm โดย jirawoot
Q - ลืมหัก ณ ที่จ่าย ควรจะทำยังไงดีค่ะ
โดย EyePornnipa จ 15 ก.ค. 2019 10:26 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
2
26
จ 15 ก.ค. 2019 11:54 am โดย EyePornnipa
งานประจำวันที่ 15 กรกฎาคม 2562
โดย Patipat จ 15 ก.ค. 2019 10:19 am บอร์ด M088 - ปฏิภัทร สารธรรม
2
17
จ 15 ก.ค. 2019 8:31 pm โดย Patipat
วิธีขอ API จาก Google กรณีอยากใส่ Map ในเว็บไซต์
โดย idsittikorn จ 15 ก.ค. 2019 10:13 am บอร์ด HTML CSS
0
9
จ 15 ก.ค. 2019 10:13 am โดย idsittikorn
งานประจำวันที่ 15 กรกฎาคม 2562
โดย jamepiyawat จ 15 ก.ค. 2019 10:12 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
3
16
จ 15 ก.ค. 2019 8:44 pm โดย mindphp