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();

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
select ค่า pid กับ จำนวน จาก table1 มาแล้ว นำมาเปรียบเทียบ ลบกับ table2 ครับ
โดย Anonymous อ 26 ต.ค. 2010 6:16 pm บอร์ด Programming - PHP
3
1430
พ 27 ต.ค. 2010 1:50 pm โดย mindphp View Topic select ค่า pid กับ จำนวน จาก table1 มาแล้ว นำมาเปรียบเทียบ ลบกับ table2 ครับ
ทำในส่วนของการ search ค่ะ แต่ว่า ติดปัญหาตอน คิวรี ข้อมูล
โดย odamayuko อ 26 ต.ค. 2010 4:46 pm บอร์ด Programming - PHP
1
15985
พ 27 ต.ค. 2010 2:18 pm โดย mindphp View Topic ทำในส่วนของการ search ค่ะ แต่ว่า ติดปัญหาตอน คิวรี ข้อมูล
XAMPP 1.7.3 เจ๋งจริงๆ ครับพี่น้อง
โดย Anonymous อ 26 ต.ค. 2010 3:35 pm บอร์ด Linux - Web Server
0
2565
อ 26 ต.ค. 2010 3:35 pm โดย บุคคลทั่วไป View Topic XAMPP 1.7.3 เจ๋งจริงๆ ครับพี่น้อง
[php]script เขียน BB CODE
โดย gangwell อ 26 ต.ค. 2010 3:23 pm บอร์ด Free PHP Code Download script
0
3530
อ 26 ต.ค. 2010 3:23 pm โดย gangwell View Topic [php]script เขียน BB CODE
วีดีโอสอน วิธีติดตั้ง windows 7
โดย mindphp อ 26 ต.ค. 2010 2:42 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
2547
อ 26 ต.ค. 2010 2:42 pm โดย mindphp View Topic วีดีโอสอน วิธีติดตั้ง windows 7
The XAMPP default ports:
โดย Anonymous อ 26 ต.ค. 2010 1:20 pm บอร์ด Linux - Web Server
0
1823
อ 26 ต.ค. 2010 1:20 pm โดย บุคคลทั่วไป View Topic The XAMPP default ports:
site map จำเป็นต้องทำไหมครับ
โดย gangwell จ 25 ต.ค. 2010 10:35 pm บอร์ด Programming - PHP
2
981
อ 26 ต.ค. 2010 10:29 am โดย gangwell View Topic site map จำเป็นต้องทำไหมครับ
hosting 20GB 250/ปี ถูกที่สุด
โดย TIGERKIT จ 25 ต.ค. 2010 5:55 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
3
4472
จ 31 ต.ค. 2011 5:46 pm โดย TIGERKIT View Topic hosting 20GB 250/ปี ถูกที่สุด