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

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

Interface Class

Interface Class เป็นรูปแบบ การเขียน OOP Class การเขียน Interface คือเหมือนการเขียน โครงร่างของคลาส ที่ยังใช้งานไม่ได้ ต้องรอให้ คลาสอื่นสืบทอดคุณสมบัติ เช่นเดียวกับ Abstract Class  ที่มีเพียงแค่ชื่อ Method  แต่ไม่มีในส่วนของหน้าที่การทำงาน เป็นเหมือนโครงสร้างเปล่า

<?php
interface testinterface
{

public function name();
public function age();
public function address();
}
?>

การสร้าง Class  interface ไม่จำเป็นต้องนำหน้า ด้วยคำว่า Class  สามารถที่จะ เขียน  interface  เเล้วตามด้วยชื่อ Class ได้เลย

class testinterface_new implements testinterface{

public function name()
{
echo __LINE__;
}
public function age()
{
echo __LINE__;
}
public function address()
{
echo __LINE__;
}
public function address2()
{
echo __LINE__;
}
}

testinterface_new::name();
#testinterface::address2();
$obj_test = new testinterface_new();
$obj_test->name();
$obj_test->address2();
?>

ส่วนในการเรียกใช้ Class interface จะต้องใช้ implements เเทน extends
เมื่อ มีการเรียกใช้งาน Class interface สามารถ เรียกใช้งานผ่าน

testinterface_new::name();
$obj_test = new testinterface_new();
$obj_test->name();

การสืบทอดคุณสมบัติจาก Class interface มาใช้นอกจากจะต้องประกาศ methods  เพื่อใช้งานทุกตัวแล้ว ยังสามารถ สร้างขึ้นเอง methods  เพื่อใช้งานในคลาสได้ เเต่การเรียกใช้งานจะไม่สามารถเรียกผ่าน  testinterface::address2(); ได้

ซึ่งใน Class ลูก สามารถ implements Interface Class ได้มากกว่า 1 Class  เเต่จะต้องเรียกใช้ methods  จาก interface testinterface ทุก methods ไม่เช่นนั้น จะ error  สามารถศึกษาได้จาก การสร้าง implements class จาก muti Interface

 Abstract Class  เเละ Interface Class
  Abstract Class
Interface Class
การใช้งาน ::

โครงร่างของคลาส ที่ยังใช้งานไม่ได้
ต้องรอให้ คลาสอื่นสืบทอดคุณสมบัติ
โครงร่างของคลาส ที่ยังใช้งานไม่ได้
ต้องรอให้ คลาสอื่นสืบทอดคุณสมบัติ
การสืบทอด extends implements
คุณสมบัติ ::
สามารถ extends Abstract Class ได้เพียง 1 Class สามารถ implements Interface Class ได้มากกว่า 1 Class
  ไม่ต้องประกาศการใช้งานทุก methode จะต้องประกาศการใช้งานของ methode ทุก methode ที่มีอยู่
การเรียกใช้งาน::  จะต้องประกาศออบเจ็กก่อน $obj_test = new testinterface_new(); ไม่ต้องประกาศออบเจ็กก็ได้สามารถเรียกใช้งานได้เลย testinterface::address2();

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
จะทำอย่างไรให้สามารถใส่ . ได้บรรทัดละตัวครับ
โดย jamepiyawat ศ 01 พ.ย. 2019 5:35 pm บอร์ด JavaScript & Jquery Ajax
1
97
ศ 01 พ.ย. 2019 5:49 pm โดย mindphp
เคล็ดลับแก้ไขง่ายๆ กับปัญหาชาร์จแบตเตอรี่โน๊ตบุ๊คไม่เข้า เกิดจากอะไร และ ปัญหาคืออะไร มาดู
โดย popeyebkk ศ 01 พ.ย. 2019 5:28 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
26
ศ 01 พ.ย. 2019 5:28 pm โดย popeyebkk
รูปภาพบางรูปเมือเอาไปแปลงเป็น pdf แล้วไม่ขึ้นครับ
โดย jamepiyawat ศ 01 พ.ย. 2019 5:07 pm บอร์ด Programming - PHP
0
26
ศ 01 พ.ย. 2019 5:07 pm โดย jamepiyawat
อยากทราบ เรื่องการ insert array ลงฐานข้อมูล
โดย bankjittapol ศ 01 พ.ย. 2019 2:32 pm บอร์ด Programming - PHP
3
47
ศ 01 พ.ย. 2019 2:58 pm โดย thatsawan
การคำนวณค่าเสื่อมราคาและค่าตัดจำหน่าย
โดย nnamfon.26 ศ 01 พ.ย. 2019 12:04 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
28
ศ 01 พ.ย. 2019 12:04 pm โดย nnamfon.26
อยากให้คำว่า คำบรรยายขึ้นมาข้างบนกรอบ
โดย mstsksmstsks ศ 01 พ.ย. 2019 11:57 am บอร์ด HTML CSS
6
61
ศ 01 พ.ย. 2019 5:34 pm โดย mstsksmstsks
วิธีอัพเดด Directadmin แบบแมนนวล
โดย mindphp ศ 01 พ.ย. 2019 4:04 am บอร์ด Linux - Web Server
1
32
ศ 01 พ.ย. 2019 4:05 am โดย mindphp
อัพเกรด MySQL และ mariadb บน Directadmin
โดย mindphp ศ 01 พ.ย. 2019 3:49 am บอร์ด Linux - Web Server
0
490
ศ 01 พ.ย. 2019 3:49 am โดย mindphp
การบันทึกใบ Invoice จากการแจ้งหนี้ของผู้จำหน่าย
โดย nnamfon.26 พฤ 31 ต.ค. 2019 5:12 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
42
พฤ 31 ต.ค. 2019 5:12 pm โดย nnamfon.26
ปัญหาแบตเตอรี่โน๊ตบุ๊คชาร์จไม่เข้า ทำยังไงดี วันนี้เรามาดูกันเลย มีสาระดีๆ รอคุณอยู่
โดย popeyebkk พฤ 31 ต.ค. 2019 4:52 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
38
พฤ 31 ต.ค. 2019 4:52 pm โดย popeyebkk
อยากให้ * แทน ตัวเลข 3 ตัวท้าย
โดย bankjittapol พฤ 31 ต.ค. 2019 3:06 pm บอร์ด Programming - PHP
1
36
พฤ 31 ต.ค. 2019 5:20 pm โดย thatsawan
ระวังไว้! 'โรคเอ็มเอส' โรคใหม่วัยทำงาน
โดย promotion พฤ 31 ต.ค. 2019 3:00 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
40
พฤ 31 ต.ค. 2019 3:00 pm โดย promotion
อยากทราบ วิธีเปลี่ยน format ของ ค่า วันที่ และเวลา
โดย bankjittapol พฤ 31 ต.ค. 2019 1:43 pm บอร์ด Programming - PHP
2
86
พฤ 31 ต.ค. 2019 5:06 pm โดย bankjittapol
มีเคล็ดลับช่วยถนอมสายหูฟังมั้ยครับ พังบ่อยมาก
โดย LEG พฤ 31 ต.ค. 2019 1:26 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
43
พฤ 31 ต.ค. 2019 1:26 pm โดย LEG
การสร้าง block ลากวางด้วย interact.js
โดย tsukasaz พฤ 31 ต.ค. 2019 1:22 pm บอร์ด Jquery & Ajax Knowledge
0
50
พฤ 31 ต.ค. 2019 1:22 pm โดย tsukasaz
อยากทราบวิธีการแก้ไขปัญหา HTTP ERROR 500
โดย Ittichai_chupol พฤ 31 ต.ค. 2019 11:53 am บอร์ด Programming - PHP
5
82
พฤ 31 ต.ค. 2019 4:29 pm โดย mindphp
การคำนวณค่าบริการโดยเปลี่ยนจากแพคเกตเดิมเป็นแพคเกตใหม่ในราคาที่เพิ่มขึ้น
โดย nnamfon.26 พฤ 31 ต.ค. 2019 11:20 am บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
4
พฤ 31 ต.ค. 2019 11:20 am โดย nnamfon.26
ความหมายของ status ที่แสดงในระบบ ERP
โดย nnamfon.26 พ 30 ต.ค. 2019 7:15 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
68
พ 30 ต.ค. 2019 7:15 pm โดย nnamfon.26
ขั้นตอนการขอใช้ api ของไปรษณีย์ไทย
โดย bankjittapol พ 30 ต.ค. 2019 7:00 pm บอร์ด PHP Knowledge
1
100
อ 12 พ.ย. 2019 6:30 am โดย mindphp
หาคนทำงาน
โดย Anonymous พ 30 ต.ค. 2019 6:48 pm บอร์ด Programming - PHP
0
44
พ 30 ต.ค. 2019 6:48 pm โดย บุคคลทั่วไป