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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Q - จัดพื้นหลังให้เท่ากับเมนูด้านบน
โดย Parichat ศ 25 พฤษภาคม 2018 2:20 pm บอร์ด HTML CSS
0
3
ศ 25 พฤษภาคม 2018 2:20 pm โดย Parichat
B - ภาษีต้องเพิ่ม จากราคา
โดย thatsawan ศ 25 พฤษภาคม 2018 1:26 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
3
ศ 25 พฤษภาคม 2018 1:27 pm โดย thatsawan
Work's on Hand ปาริชาติ รัตโณภาส MT21
โดย Parichat จ 08 ม.ค. 2018 12:11 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
18
0
จ 21 พฤษภาคม 2018 1:08 pm โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย Rujikon ศ 25 พฤษภาคม 2018 11:46 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
0
3
ศ 25 พฤษภาคม 2018 11:46 am โดย Rujikon
B - ไม่สามารถเข้าไปดูรายละเอียดของ Customer ได้
โดย watcharin ศ 25 พฤษภาคม 2018 11:44 am บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
ศ 25 พฤษภาคม 2018 11:44 am โดย watcharin
Q - ต้องการให้ Python GUI( Tkinter ) เก็บ Path ที่ได้จากการ Browse
โดย rangsan ศ 25 พฤษภาคม 2018 11:32 am บอร์ด Programming - C/C++ & java & Python
3
13
ศ 25 พฤษภาคม 2018 12:07 pm โดย rangsan
Q - สร้างเทมเพลตใน Joomla แต่ไม่ขึ้นไฟล์ให้ติดตั้ง
โดย Parichat ศ 25 พฤษภาคม 2018 11:11 am บอร์ด Joomla Development
3
7
ศ 25 พฤษภาคม 2018 11:35 am โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย Parichat ศ 25 พฤษภาคม 2018 10:45 am บอร์ด M061 - ปาริชาติ รัตโณภาส
0
1
ศ 25 พฤษภาคม 2018 10:45 am โดย Parichat
งานประจำวันที่ 25 พฤษภาคม 2561
โดย rangsan ศ 25 พฤษภาคม 2018 10:45 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
1
ศ 25 พฤษภาคม 2018 10:45 am โดย rangsan
B - แก้ไขชื่อบริษัทไม่ได้ error
โดย thatsawan พฤ 24 พฤษภาคม 2018 6:21 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
1
พฤ 24 พฤษภาคม 2018 6:21 pm โดย thatsawan
G - ทดสอบระบบจริง เพิ่มลูกค้า สร้างใบเสนอราคา สร้าง inv รับชำระ ผ่าน
โดย thatsawan พฤ 24 พฤษภาคม 2018 6:17 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
6
พฤ 24 พฤษภาคม 2018 6:17 pm โดย thatsawan
Q - login เข้าหน้า admin ไม่ได้
โดย Parichat พฤ 24 พฤษภาคม 2018 6:03 pm บอร์ด Joomla Development
16
46
พฤ 24 พฤษภาคม 2018 11:24 pm โดย Parichat
Q - เลขรันเอกสารที่จะต้องใช้ในบริษัท
โดย thatsawan พฤ 24 พฤษภาคม 2018 5:16 pm บอร์ด M.D.Soft Co.,Ltd. (Main)
1
6
ศ 25 พฤษภาคม 2018 11:33 am โดย kanchanok
Q - จัดเมนูให้อยู่กึ่งกลางหน้าเว็บ
โดย Parichat พฤ 24 พฤษภาคม 2018 2:19 pm บอร์ด HTML CSS
19
55
พฤ 24 พฤษภาคม 2018 7:22 pm โดย Parichat
Q - วิธีเปลี่ยนสีแถบเมนู
โดย Parichat พฤ 24 พฤษภาคม 2018 1:46 pm บอร์ด HTML CSS
10
31
พฤ 24 พฤษภาคม 2018 3:33 pm โดย Parichat
งานประจำวันที่ 24 พฤษภาคม 2561
โดย Rujikon พฤ 24 พฤษภาคม 2018 9:38 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
3
16
พฤ 24 พฤษภาคม 2018 7:17 pm โดย Rujikon
งานประจำวันที่ 24 พฤษภาคม 2561
โดย Parichat พฤ 24 พฤษภาคม 2018 9:34 am บอร์ด M061 - ปาริชาติ รัตโณภาส
1
6
พฤ 24 พฤษภาคม 2018 7:24 pm โดย Parichat
B - ใบเสร็จรับเงิน
โดย mindphp พฤ 24 พฤษภาคม 2018 2:38 am บอร์ด M.D.Soft Co.,Ltd. - Tester
1
8
พฤ 24 พฤษภาคม 2018 6:56 pm โดย thatsawan
วิธีติดตั้ง Netbeans8.2 บน Ubuntu
โดย AePongsak พ 23 พฤษภาคม 2018 4:48 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
22
พฤ 24 พฤษภาคม 2018 11:40 am โดย บุคคลทั่วไป
สอบถามการติดตั้ง LAMP Server บน Ubuntu 18.04 ด้วยครับ
โดย AePongsak พ 23 พฤษภาคม 2018 3:54 pm บอร์ด SQL - Database
4
36
พฤ 24 พฤษภาคม 2018 5:43 pm โดย AePongsak