⊗ppOpIhCn 30 of 107 menu

Constructor เมื่อสืบทอดใน OOP ใน PHP

เมื่อทำการสืบทอด สามารถกำหนด constructor ของคลาสแม่ใหม่ได้ มาดูตัวอย่างกัน สมมติว่าเรามีคลาสแม่ดังต่อไปนี้:

<?php class User { private $name; private $surn; public function __construct($name, $surn) { $this->name = $name; $this->surn = $surn; } public function getName() { return $this->name; } public function getSurn() { return $this->surn; } } ?>

สมมติว่าคลาสต่อไปนี้สืบทอดมาจากคลาสแม่:

<?php class Student extends User { } ?>

สมมติว่าเราต้องการในคลาสลูก ขยาย constructor โดยเพิ่ม พารามิเตอร์เสริมเข้าไป:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { } } ?>

ในกรณีนี้ เราจำเป็นต้อง เรียก constructor ของคลาสแม่ ผ่าน parent::__construct() ในบรรทัดแรก:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

คำสั่ง parent::__construct() โดยเนื้อแท้คือ constructor ของคลาสแม่ ดังนั้น ส่งพารามิเตอร์ที่ต้องการเข้าไป:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); } } ?>

ตอนนี้ในคลาสลูก ให้บันทึกปีการศึกษา ลงในคุณสมบัติของคลาสลูก:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } } ?>

มาสร้าง getter สำหรับปีการศึกษากัน:

<?php class Student extends User { private $year; public function __construct($name, $surn, $year) { parent::__construct($name, $surn); $this->year = $year; } public function getYear() { return $this->year; } } ?>

สมมติว่าคลาส Employee สืบทอด มาจากคลาส User จาก บทเรียนนี้

กำหนด constructor ของคลาสแม่ใหม่ในคลาส Employee โดยเพิ่มพารามิเตอร์อายุและเงินเดือนเข้าไป

สร้าง getter สำหรับอายุและ เงินเดือน

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ