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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำความรู้จักกับ Big Data คืออะไร
โดย birdkritsna อ 17 ก.ย. 2019 5:36 pm บอร์ด SQL Knowledge
1
69
อ 17 ก.ย. 2019 5:52 pm โดย mindphp
วิธีการใช้งานฟังชั่น serialize() กับ unserialize() ใน phpbb
โดย Ittichai_chupol อ 17 ก.ย. 2019 5:18 pm บอร์ด PHP Knowledge
0
41
อ 17 ก.ย. 2019 5:18 pm โดย Ittichai_chupol
รู้จักกับคลังข้อมูล(Data Warehouse) คืออะไร มีประโยชน์อะไรบ้าง
โดย birdkritsna อ 17 ก.ย. 2019 5:11 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
49
อ 17 ก.ย. 2019 5:11 pm โดย birdkritsna
MS Exchange ไมโครซอฟท์ต่ออายุซัพพอร์ต 2010 ให้อีก 9 เดือน ถึง ตุลาคม 2020
โดย chatee supasand อ 17 ก.ย. 2019 5:09 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
40
อ 17 ก.ย. 2019 5:09 pm โดย chatee supasand
สิ่งที่ต้องทำ ก่อนโทรศัพท์หายหรือโดนขโมย
โดย birdkritsna อ 17 ก.ย. 2019 3:23 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
40
อ 17 ก.ย. 2019 3:23 pm โดย birdkritsna
B - packket ตัวติดตั้งไม่อัพเดด
โดย mindphp อ 17 ก.ย. 2019 3:12 pm บอร์ด Buildin - Tester
0
1
อ 17 ก.ย. 2019 3:12 pm โดย mindphp
VDO - ขั้นตอนการยกเลิกใบแจ้งหนี้ด้วยวิธีที่ถูกต้อง
โดย EyePornnipa อ 17 ก.ย. 2019 3:05 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
2
14
อ 17 ก.ย. 2019 5:32 pm โดย EyePornnipa
วิธีขับขี่ช่วงฝนตก ป้องกันอุบัติเหตุทางถนน
โดย birdkritsna อ 17 ก.ย. 2019 2:56 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
36
อ 17 ก.ย. 2019 2:56 pm โดย birdkritsna
สร้าง Menu Item ที่จะให้เมนูแสดงเฉพาะภาษาอังกฤษแล้ว Error ครับ
โดย jamepiyawat อ 17 ก.ย. 2019 2:52 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
5
87
อ 17 ก.ย. 2019 5:08 pm โดย jamepiyawat
ปัญหาไม่สามารถแสดงผลได้ทางหน้าจอ ขึ้น Object not found!
โดย birdkritsna อ 17 ก.ย. 2019 12:11 pm บอร์ด Programming - PHP
4
80
อ 17 ก.ย. 2019 3:56 pm โดย birdkritsna
ทำอย่างไรให้ใน loop แสดงสินค้าไม่ซ้ำกัน
โดย Patipat อ 17 ก.ย. 2019 11:19 am บอร์ด Joomla Development
1
43
พฤ 19 ก.ย. 2019 10:51 am โดย tsukasaz
รู้จักกับระบบปฎิบัติการ Harmony OS ที่ไม่ได้มีไว้แค่มือถือเท่านั้น
โดย birdkritsna อ 17 ก.ย. 2019 11:06 am บอร์ด Mobile Application Developing- Android, iOS
0
39
อ 17 ก.ย. 2019 11:06 am โดย birdkritsna
งานประจำวันที่ 17 กันยายน 2562
โดย birdkritsna อ 17 ก.ย. 2019 10:35 am บอร์ด M094 - กฤษณะ จะโรจน์รัมย์
3
25
อ 17 ก.ย. 2019 7:22 pm โดย birdkritsna
R - mdsoft_seleniumTest_mzchelix_byM088 (MT33) ทำเทส selenium
โดย chatee supasand อ 17 ก.ย. 2019 10:30 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
17
พ 18 ก.ย. 2019 1:40 pm โดย chatee supasand
R - mdsoft_seleniumTest_mzccart_byM084 (MT33) ทำเทส selenium
โดย chatee supasand อ 17 ก.ย. 2019 10:29 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
16
พ 18 ก.ย. 2019 1:39 pm โดย chatee supasand
งานประจำวันที่ 17 กันยายน 2562
โดย Patipat อ 17 ก.ย. 2019 10:23 am บอร์ด M088 - ปฏิภัทร สารธรรม
3
15
อ 17 ก.ย. 2019 7:22 pm โดย Patipat
งานประจำวันที่ 17 กันยายน 2562
โดย chatee supasand อ 17 ก.ย. 2019 10:07 am บอร์ด MT33 - นายชาตรี สุภาแสน
1
8
อ 17 ก.ย. 2019 7:37 pm โดย chatee supasand
งานประจำวันที่ 17 กันยายน 2562
โดย jamepiyawat อ 17 ก.ย. 2019 10:02 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
8
อ 17 ก.ย. 2019 7:29 pm โดย jamepiyawat
งานประจำวันที่ 17 กันยายน 2562
โดย jirawoot อ 17 ก.ย. 2019 9:55 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
9
อ 17 ก.ย. 2019 7:27 pm โดย jirawoot
งานประจำวันที่ 17 กันยายน 2562
โดย EyePornnipa อ 17 ก.ย. 2019 9:44 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
9
50
อ 17 ก.ย. 2019 3:06 pm โดย EyePornnipa