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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - ใบปริ้นบาร์โค้ดแสดงผลไม่ถูกต้อง [2018-08][005]
โดย thatsawan ศ 17 ส.ค. 2018 11:40 am บอร์ด Hachanna - Testter
0
2
ศ 17 ส.ค. 2018 11:40 am โดย thatsawan
ทำความรู้จักกับตัวแปร Array
โดย tai14 ศ 17 ส.ค. 2018 10:41 am บอร์ด PHP Knowledge
0
5
ศ 17 ส.ค. 2018 10:41 am โดย tai14
งานประจำวันที่ 17 สิงหาคม 2561
โดย Lamduan ศ 17 ส.ค. 2018 10:10 am บอร์ด M066 - นางสาวลำดวน พันโอดเบี้ย
0
3
ศ 17 ส.ค. 2018 10:10 am โดย Lamduan
งานประจำวันที่ 17 สิงหาคม 2561
โดย tatiya ศ 17 ส.ค. 2018 9:31 am บอร์ด M065 - ตติยะ นาชัย
0
2
ศ 17 ส.ค. 2018 9:31 am โดย tatiya
งานประจำวันที่ 17 สิงหาคม 2561
โดย pprn ศ 17 ส.ค. 2018 9:20 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
0
1
ศ 17 ส.ค. 2018 9:20 am โดย pprn
งานประจำวันที่ 17 สิงหาคม 2561
โดย prakon ศ 17 ส.ค. 2018 9:19 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
1
ศ 17 ส.ค. 2018 9:20 am โดย prakon
งานที่ต้องทำประจำวันที่ 17 สิงหาคม 2561
โดย tai14 ศ 17 ส.ค. 2018 9:09 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
0
3
ศ 17 ส.ค. 2018 9:09 am โดย tai14
ตัวแปรใน PHP
โดย tai14 พฤ 16 ส.ค. 2018 7:18 pm บอร์ด PHP Knowledge
0
17
พฤ 16 ส.ค. 2018 7:18 pm โดย tai14
เครื่องมือและรูปแบบการเขียน PHP
โดย tai14 พฤ 16 ส.ค. 2018 5:17 pm บอร์ด PHP Knowledge
0
12
พฤ 16 ส.ค. 2018 5:17 pm โดย tai14
การ return ค่า ออกมาใช้นอก class ใน python
โดย tatiya พฤ 16 ส.ค. 2018 4:36 pm บอร์ด Python Knowledge
0
7
พฤ 16 ส.ค. 2018 4:36 pm โดย tatiya
ทำความรู้จักกับภาษา PHP
โดย tai14 พฤ 16 ส.ค. 2018 4:10 pm บอร์ด PHP Knowledge
0
12
พฤ 16 ส.ค. 2018 4:10 pm โดย tai14
R - เตรียมข้อมูลใบปริ้นที่ต้องทำเพิ่ม
โดย thatsawan พฤ 16 ส.ค. 2018 1:43 pm บอร์ด OpenERP - MD-ERP
5
49
พฤ 16 ส.ค. 2018 5:29 pm โดย wilawan
รบกวนสอบถามหน่อยครับ Jquery ของ SignalR ไม่ทำงานพอมีวิธีแก้ไหมค่ะ
โดย supattra_su พฤ 16 ส.ค. 2018 12:38 pm บอร์ด Programming - PHP
4
25
พฤ 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
11
พฤ 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
9
พฤ 16 ส.ค. 2018 6:58 pm โดย Lamduan
งานประจำวันที่ 16 สิงหาคม 2561
โดย tatiya พฤ 16 ส.ค. 2018 10:00 am บอร์ด M065 - ตติยะ นาชัย
1
5
พฤ 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