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

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

Abstract Class abstract method php5 OOP

ในบทความนี้จะพูดถึง "Abstract Class" ผมขอใช้ทับศัพท์ นะครับ มาดูว่า Abstract Class มันคืออะไรกันก่อน กล่าวโดยสรุป Abstract Calss ก็คือ โครงร่างของคลาส ซึ่งภายใน Abstract Class มี attributes และ methode ที่ยังใช้งานไม่ได้ ต้องรอให้          คลาสอื่นสืบทอดคุณสมบัติมันไปสร้างให้สมบูรณ์ก่อนถึงจะเรียกใช้งานมันได้ การตั้งชื่อ คลาสที่เป็น Abstract Class ต้องใช้ keywords " abstract " ก่อน class ตามด้วย class name ถ้า method ถูกสร้างขึ้นภายใน abstract class นี้แล้ว มันจะไม่สามารถกำหนดเป็น private method ได้ (ต้องเป็น public หรือ protected เท่านั้น) รูปแบบในการสร้าง คลาสให้เป็น Abstract Class

ตัวอย่างพื้นฐานของการใช้

ไฟล์ตัวอย่าง :: code_ex.php
<?php
abstract class employee{
var $empname;
var $empage;
abstract function setdata($empname, $empage){
$this->empname = $empname;
$this->empage = $empage;
}
abstract function outputData();
}
class EmployeeData extends employee { //สืบทอดคุณสมบัตของ abstract class มาใช้
function __construct($name,$age){
$this->setdata($name,$age); // methode หนึ่งของ abstract class
}
function outputData(){
echo $this->empname;
echo $this->empage;
}
}
$a = new EmployeeData("Mindphp","index");
$a->outputData();
?>

ผลที่ได้ Mindphp index จะเห็นว่า ใน Class EmployeeData ซึ่ง extends abstract class มาใช้งาน จะต้องมี การ implement method ที่เป็น abtract method ด้วยเสมอ ไม่เช่นนั้นจะเกิด Error Class EmployeeData contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (employee::outputData) in ขึ้นมาได้ ถ้าเราไม่ สร้าง function outputData() ในคลาส EmployeeData

ชื่อ
Abstract Class abstract method php5 OOP
หมวดหมู่
PHP OOP, PHP OOP
ฮิต
9824
ผู้สร้างเอกสาร
thatsawan
วันที่สร้างเอกสาร
2014-05-20 00:37:01

OOP_12.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 625 bytes

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

วันที่อัพโหลด 2014-05-19 17:36:51


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ตัวแปรใน PHP
โดย tai14 พฤ 16 ส.ค. 2018 7:18 pm บอร์ด PHP Knowledge
0
6
พฤ 16 ส.ค. 2018 7:18 pm โดย tai14
เครื่องมือและรูปแบบการเขียน PHP
โดย tai14 พฤ 16 ส.ค. 2018 5:17 pm บอร์ด PHP Knowledge
0
6
พฤ 16 ส.ค. 2018 5:17 pm โดย tai14
การ return ค่า ออกมาใช้นอก class ใน python
โดย tatiya พฤ 16 ส.ค. 2018 4:36 pm บอร์ด Python Knowledge
0
5
พฤ 16 ส.ค. 2018 4:36 pm โดย tatiya
ทำความรู้จักกับภาษา PHP
โดย tai14 พฤ 16 ส.ค. 2018 4:10 pm บอร์ด PHP Knowledge
0
9
พฤ 16 ส.ค. 2018 4:10 pm โดย tai14
R - เตรียมข้อมูลใบปริ้นที่ต้องทำเพิ่ม
โดย thatsawan พฤ 16 ส.ค. 2018 1:43 pm บอร์ด OpenERP - MD-ERP
5
47
พฤ 16 ส.ค. 2018 5:29 pm โดย wilawan
รบกวนสอบถามหน่อยครับ Jquery ของ SignalR ไม่ทำงานพอมีวิธีแก้ไหมค่ะ
โดย supattra_su พฤ 16 ส.ค. 2018 12:38 pm บอร์ด Programming - PHP
4
20
พฤ 16 ส.ค. 2018 1:54 pm โดย supattra_su
ฺB - ไม่สามารถเพิ่มข้อมูลที่อยู่ของบริษัทลูกค้าใน การออกใบ Quotations ได้
โดย watcharin พฤ 16 ส.ค. 2018 11:41 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
4
พฤ 16 ส.ค. 2018 11:41 am โดย watcharin
งานที่ต้องทำประจำวันที่ 16 สิงหาคม 2561
โดย tai14 พฤ 16 ส.ค. 2018 10:25 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
3
8
พฤ 16 ส.ค. 2018 7:27 pm โดย tai14
งานประจำวันที่ 16 สิงหาคม 2561
โดย prakon พฤ 16 ส.ค. 2018 10:22 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
18
พฤ 16 ส.ค. 2018 10:23 am โดย prakon
งานประจำวันที่ 16 สิงหาคม 2561
โดย pprn พฤ 16 ส.ค. 2018 10:22 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
4
พฤ 16 ส.ค. 2018 7:40 pm โดย pprn
งานประจำวันที่ 16 สิงหาคม 2561
โดย Lamduan พฤ 16 ส.ค. 2018 10:20 am บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
1
3
พฤ 16 ส.ค. 2018 6:58 pm โดย Lamduan
งานประจำวันที่ 16 สิงหาคม 2561
โดย tatiya พฤ 16 ส.ค. 2018 10:00 am บอร์ด M065 - ตติยะ นาชัย
1
3
พฤ 16 ส.ค. 2018 7:58 pm โดย tatiya
G - หลักการส่งข้อมูล ให้ทาง PHP รู้ว่ามี การอัพเดด stock onhand
โดย mindphp พฤ 16 ส.ค. 2018 1:52 am บอร์ด สิริกิตติรัตน์ - Developer
0
3
พฤ 16 ส.ค. 2018 1:52 am โดย mindphp
การใช้ฟังก์ชัน Filter_list
โดย anuwat somsakul พ 15 ส.ค. 2018 6:10 pm บอร์ด PHP Knowledge
0
11
พ 15 ส.ค. 2018 6:10 pm โดย anuwat somsakul
Test ระบบ Open Erp 99
โดย Lamduan พ 15 ส.ค. 2018 6:09 pm บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
0
8
พ 15 ส.ค. 2018 6:09 pm โดย Lamduan
วิธีอัด vdo หน้าจอด้วย Camtasia Studio
โดย tai14 พ 15 ส.ค. 2018 4:49 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
12
พ 15 ส.ค. 2018 4:49 pm โดย tai14
สอบถามวิธีการปิด .gitignore ใน netbean ไม่ให้อัพขึ้น git ค่ะ
โดย pprn พ 15 ส.ค. 2018 4:44 pm บอร์ด Programming - PHP
1
20
พ 15 ส.ค. 2018 4:55 pm โดย tsukasaz
มาทำความรู้จักกับ self ใน Python กัน
โดย tatiya พ 15 ส.ค. 2018 3:26 pm บอร์ด Python Knowledge
0
13
พ 15 ส.ค. 2018 3:26 pm โดย tatiya
Q - เพิ่มช่องค้นหาแล้ว error: Call to a member function getGroup() on null
โดย Parichat พ 15 ส.ค. 2018 3:01 pm บอร์ด Joomla Dev
1
4
พ 15 ส.ค. 2018 3:17 pm โดย Parichat
วิธีเปลี่ยนโทนสีของภาพด้วย Photoshop
โดย tai14 พ 15 ส.ค. 2018 1:10 pm บอร์ด Graphic design
1
18
พ 15 ส.ค. 2018 3:00 pm โดย mindphp