ให้เรตสมาชิก: 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();

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
การเลือกดึงข้อมูลในอาเรย์บางตัวมาใช้งาน ในรูปแบบ foreach
โดย Patipat พ 11 ก.ย. 2019 5:33 pm บอร์ด Joomla Developing Knowledge
0
46
พ 11 ก.ย. 2019 5:33 pm โดย Patipat
อยากให้แท็ก input กับแท็ก img อยู่ในบรรทัดเดียวกันครับ
โดย jamepiyawat พ 11 ก.ย. 2019 5:02 pm บอร์ด Joomla Development
2
59
พ 11 ก.ย. 2019 5:41 pm โดย jamepiyawat
ทำไมเรียกใช้ข้อมูลในอาเรย์แล้ว ไม่มีค่าเลยครับ
โดย Patipat พ 11 ก.ย. 2019 4:05 pm บอร์ด Joomla Development
3
64
พ 11 ก.ย. 2019 4:19 pm โดย tsukasaz
ความหมายของคำว่าเดบิตและเครดิต
โดย EyePornnipa พ 11 ก.ย. 2019 3:52 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
14
พ 11 ก.ย. 2019 3:52 pm โดย EyePornnipa
HOSxP คืออะไร
โดย EyePornnipa พ 11 ก.ย. 2019 12:20 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
72
พ 11 ก.ย. 2019 1:50 pm โดย ppim
จะนำข้อมูลใน [name_en-GB] มาใช้งานอย่างไรครับ
โดย Patipat พ 11 ก.ย. 2019 11:47 am บอร์ด Joomla Development
0
52
พ 11 ก.ย. 2019 11:47 am โดย Patipat
งานประจำวันที่ 11 กันยายน 2562
โดย Patipat พ 11 ก.ย. 2019 10:24 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
7
พ 11 ก.ย. 2019 7:56 pm โดย Patipat
งานประจำวันที่ 11 กันยายน 2562
โดย aninthana พ 11 ก.ย. 2019 10:18 am บอร์ด M092 - อนินธนา บุญยัง
2
18
พ 11 ก.ย. 2019 7:10 pm โดย aninthana
งานประจำวันที่ 11 กันยายน 2562
โดย jamepiyawat พ 11 ก.ย. 2019 10:06 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
11
พ 11 ก.ย. 2019 7:57 pm โดย jamepiyawat
งานประจำวันที่ 11 กันยายน 2562
โดย jirawoot พ 11 ก.ย. 2019 10:05 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
5
พ 11 ก.ย. 2019 7:45 pm โดย jirawoot
งานประจำวันที่ 11 กันยายน 2562
โดย EyePornnipa พ 11 ก.ย. 2019 10:02 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
2
52
พ 11 ก.ย. 2019 7:21 pm โดย EyePornnipa
งานประจำวันที่ 11 กันยายน 2562
โดย chatee supasand พ 11 ก.ย. 2019 9:33 am บอร์ด MT33 - นายชาตรี สุภาแสน
2
15
ส 21 ก.ย. 2019 6:08 pm โดย chatee supasand
Q - ขอสอบถามเว็บไซด์สั่งสินค้าถ้าเราปิดเว็บแล้ว [2019-09][004]
โดย aninthana อ 10 ก.ย. 2019 5:57 pm บอร์ด Diageo - Web Ordering - Tester
8
28
พฤ 12 ก.ย. 2019 11:31 am โดย aninthana
อยากทราบวิธีการปรับค่าการแจ้งเตือน ในเว็บบอร์ด phpbb เมื่อมีการแจ้งเตือนเพิ่มเข้ามา
โดย Ittichai_chupol อ 10 ก.ย. 2019 5:14 pm บอร์ด Programming - PHP
1
59
อ 10 ก.ย. 2019 6:22 pm โดย mindphp
Tile ผู้ผลิตอุปกรณ์ Tracker สำหรับตามหาสิ่งของหายสามารถสั่งการได้ด้วย Google Assistant
โดย jamepiyawat อ 10 ก.ย. 2019 5:10 pm บอร์ด Share Knowledge
0
54
อ 10 ก.ย. 2019 5:10 pm โดย jamepiyawat
การรับชำระค่าส่วนกลางล่วงหน้า
โดย EyePornnipa อ 10 ก.ย. 2019 4:58 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
25
อ 10 ก.ย. 2019 6:15 pm โดย mindphp
E-Bidding คืออะไร
โดย EyePornnipa อ 10 ก.ย. 2019 4:19 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
58
อ 10 ก.ย. 2019 4:19 pm โดย EyePornnipa
จากฟังก์ชันเรียกใช้รูปภาพ ใช้งานอย่างไรครับ
โดย Patipat อ 10 ก.ย. 2019 3:37 pm บอร์ด Joomla Development
2
56
อ 10 ก.ย. 2019 4:06 pm โดย Patipat
เรียกใช้ อาเรย์ forech อย่างไรครับ
โดย Patipat อ 10 ก.ย. 2019 11:53 am บอร์ด Joomla Development
4
93
อ 10 ก.ย. 2019 3:14 pm โดย Patipat
R - การคำนวณค่าไฟที่ประหยัดไฟจากการปรับอุณหภูมิแอร์ เพิ่มขึ้น 1 องศา [2019-09][003]
โดย aninthana อ 10 ก.ย. 2019 10:49 am บอร์ด IIEC - Feedback Service System - Tester
1
5
อ 10 ก.ย. 2019 8:45 pm โดย tsukasaz