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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
งานประจำวันที่ 11 กันยายน 2561
โดย tai14 อ 11 ก.ย. 2018 10:05 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
12
อ 11 ก.ย. 2018 7:03 pm โดย tai14
งานประจำวันที่ 11 กันยายน 2561
โดย prakon อ 11 ก.ย. 2018 10:04 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
10
พ 12 ก.ย. 2018 10:24 am โดย prakon
งานประจำวันที่ 11 กันยายน 2561
โดย prakon อ 11 ก.ย. 2018 10:04 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
0
1
อ 11 ก.ย. 2018 10:04 am โดย prakon
งานประจำวันที่ 11 กันยายน 2561
โดย muneela อ 11 ก.ย. 2018 9:56 am บอร์ด M068 - มุนีลา หมัดบาซา
1
12
อ 11 ก.ย. 2018 7:02 pm โดย muneela
งานประจำวันที่ 11 กันยายน 2561
โดย tatiya อ 11 ก.ย. 2018 9:10 am บอร์ด M065 - ตติยะ นาชัย
1
7
อ 11 ก.ย. 2018 8:34 pm โดย tatiya
การขยายแถบเลื่อนวีโอไอพี
โดย alexmorco จ 10 ก.ย. 2018 9:30 pm บอร์ด Programming - PHP
0
23
จ 10 ก.ย. 2018 9:30 pm โดย alexmorco
ภาพประกอบหน้า Online Tools
โดย tai14 จ 10 ก.ย. 2018 7:00 pm บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
2
16
อ 11 ก.ย. 2018 1:58 pm โดย tai14
ภาษีหัก ณ ที่จ่าย
โดย chawakorn162 จ 10 ก.ย. 2018 6:06 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
31
จ 10 ก.ย. 2018 6:06 pm โดย chawakorn162
ความรู้ มาตรา40(1)-(8)
โดย chawakorn162 จ 10 ก.ย. 2018 5:49 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
18
จ 10 ก.ย. 2018 5:49 pm โดย chawakorn162
การเดินทางจากบ้านมาที่ทำงาน
โดย chawakorn162 จ 10 ก.ย. 2018 2:33 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
32
จ 10 ก.ย. 2018 2:33 pm โดย chawakorn162
Work's on Hand ชวกร ลอยไสว
โดย chawakorn162 จ 10 ก.ย. 2018 10:49 am บอร์ด M069 - ชวกร ลอยไสว
1
27
จ 10 ก.ย. 2018 2:52 pm โดย thatsawan
งานประจำวันที่ 10 กันยายน 2561
โดย chawakorn162 จ 10 ก.ย. 2018 10:44 am บอร์ด M069 - ชวกร ลอยไสว
2
18
จ 10 ก.ย. 2018 7:02 pm โดย chawakorn162
งานประจำวันที่ 10 กันยายน 2561
โดย prakon จ 10 ก.ย. 2018 10:26 am บอร์ด MT24 - นายปกรณ์ วิริยะธนวิโรจน์
1
17
จ 10 ก.ย. 2018 10:27 am โดย prakon
งานประจำวันที่ 10 กันยายน 2561
โดย muneela จ 10 ก.ย. 2018 10:25 am บอร์ด M068 - มุนีลา หมัดบาซา
1
24
จ 10 ก.ย. 2018 11:34 am โดย muneela
งานประจำวันที่ 10 กันยายน 2561
โดย tatiya จ 10 ก.ย. 2018 10:11 am บอร์ด M065 - ตติยะ นาชัย
1
9
จ 10 ก.ย. 2018 7:30 pm โดย tatiya
งานประจำวันที่ 10 กันยายน 2561
โดย tai14 จ 10 ก.ย. 2018 10:07 am บอร์ด MT26 - นางสาวอัครยุภา ยงยุทธ
1
10
จ 10 ก.ย. 2018 7:01 pm โดย tai14
งานประจำวันที่ 10 กันยายน 2561
โดย pprn จ 10 ก.ย. 2018 10:00 am บอร์ด MT25 - นางสาวปรียากมล รินนาศักดิ์
1
15
จ 10 ก.ย. 2018 6:52 pm โดย pprn
สอบถามวิธีการทำ notification พร้อมเสียงแจ้งเตือนครับ
โดย Anonymous อ 09 ก.ย. 2018 8:33 pm บอร์ด Programming - PHP
0
38
อ 09 ก.ย. 2018 8:33 pm โดย บุคคลทั่วไป
Wallet ที่ประสบความสำเร็จในไทย
โดย muneela ส 08 ก.ย. 2018 7:02 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
67
ส 08 ก.ย. 2018 7:02 pm โดย muneela
งานประจำวันที่ 8 กันยายน 2561
โดย muneela ส 08 ก.ย. 2018 10:17 am บอร์ด M068 - มุนีลา หมัดบาซา
1
17
ส 08 ก.ย. 2018 7:41 pm โดย muneela