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

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
บันทึกการประชุม วันที่ 21 พฤษภาคม 2562
โดย teenproza7 อ 21 พฤษภาคม 2019 2:15 pm บอร์ด M082 - ยศนันท์ ปันคำ
0
6
อ 21 พฤษภาคม 2019 2:15 pm โดย teenproza7
บันทึกการประชุม 21 พฤษภาคม 2562
โดย poumtip อ 21 พฤษภาคม 2019 1:03 pm บอร์ด M083 - ขวัญชนก ผสารพันธ์
0
11
อ 21 พฤษภาคม 2019 1:03 pm โดย poumtip
เกณฑ์คงค้าง คือ
โดย สริญญา สมสา อ 21 พฤษภาคม 2019 12:43 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
9
อ 21 พฤษภาคม 2019 12:43 pm โดย สริญญา สมสา
Note
โดย jamepiyawat อ 21 พฤษภาคม 2019 11:39 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
7
พ 22 พฤษภาคม 2019 7:38 pm โดย jamepiyawat
Note
โดย khwanchanok อ 21 พฤษภาคม 2019 11:38 am บอร์ด M083 - ขวัญชนก ผสารพันธ์
1
13
อ 21 พฤษภาคม 2019 3:05 pm โดย khwanchanok
Work's on Hand ปิยวัช เชาว์วิมล M084
โดย jamepiyawat อ 21 พฤษภาคม 2019 11:38 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
5
อ 21 พฤษภาคม 2019 11:38 am โดย jamepiyawat
Work's on Hand ขวัญชนก ผสารพันธ์ M083
โดย khwanchanok อ 21 พฤษภาคม 2019 11:36 am บอร์ด M083 - ขวัญชนก ผสารพันธ์
0
10
อ 21 พฤษภาคม 2019 11:36 am โดย khwanchanok
งานประจำวันที่ 21 พฤษภาคม 2562
โดย jamepiyawat อ 21 พฤษภาคม 2019 11:08 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
3
22
อ 21 พฤษภาคม 2019 7:28 pm โดย Parichat
งานประจำวันที่ 21 พฤษภาคม 2562
โดย khwanchanok อ 21 พฤษภาคม 2019 11:07 am บอร์ด M083 - ขวัญชนก ผสารพันธ์
4
40
อ 21 พฤษภาคม 2019 7:35 pm โดย Parichat
ใช้ stylesheet css จากภายนอก กับ RML ได้หรือไม่
โดย teenproza7 อ 21 พฤษภาคม 2019 10:59 am บอร์ด HTML CSS
0
12
อ 21 พฤษภาคม 2019 10:59 am โดย teenproza7
วิธีที่ช่วยให้สมองไบรท์
โดย teenproza7 อ 21 พฤษภาคม 2019 10:47 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
8
อ 21 พฤษภาคม 2019 10:47 am โดย teenproza7
งานประจำวันที่ 21 พฤษภาคม 2562
โดย teenproza7 อ 21 พฤษภาคม 2019 9:45 am บอร์ด M082 - ยศนันท์ ปันคำ
3
23
อ 21 พฤษภาคม 2019 7:48 pm โดย tatiya
MacBook: Uninstall MAMP แล้ว แต่ safari ยังดึงข้อมูลจาก MAMP อยู่
โดย matsuura จ 20 พฤษภาคม 2019 4:30 pm บอร์ด Programming - PHP
1
18
จ 20 พฤษภาคม 2019 9:33 pm โดย mindphp
ผ่อนดาวน์น้อยกับคอนโดพร้อมอยู่ให้คุณเป็นเจ้าของได้แล้ววันนี้
โดย Patty Perfume จ 20 พฤษภาคม 2019 2:06 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
13
จ 20 พฤษภาคม 2019 2:06 pm โดย Patty Perfume
อยากทราวิธีการ ระบุ ค่าสี ใน <a></a> เฉพาะที่ต้องการค
โดย Ittichai_chupol ส 18 พฤษภาคม 2019 7:35 pm บอร์ด HTML CSS
2
42
ส 18 พฤษภาคม 2019 7:39 pm โดย mindphp
สร้าง Report แบบง่ายด้วย Python + RML
โดย teenproza7 ส 18 พฤษภาคม 2019 7:03 pm บอร์ด Python Knowledge
2
65
ส 18 พฤษภาคม 2019 7:35 pm โดย mindphp
เคล็ดลับ วิธีแก้ขอบตาดำคล้ำแบบธรรมชาติ หมดปัญหาตาดำเป็นหมีแพนด้า
โดย teenproza7 ส 18 พฤษภาคม 2019 5:24 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
24
ส 18 พฤษภาคม 2019 5:24 pm โดย teenproza7
RML กับ Python ใช้งานร่วมกันยังไง
โดย teenproza7 ส 18 พฤษภาคม 2019 4:34 pm บอร์ด Programming - C/C++ & java & Python
11
75
ส 18 พฤษภาคม 2019 7:26 pm โดย thatsawan
เคล็ดลับแก้อาการนอนไม่หลับ
โดย teenproza7 ส 18 พฤษภาคม 2019 4:17 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
19
ส 18 พฤษภาคม 2019 4:17 pm โดย teenproza7
วิธีแก้ง่วง ง่วงนอน นอนน้อย แต่นอนนะ
โดย teenproza7 ส 18 พฤษภาคม 2019 4:10 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
ส 18 พฤษภาคม 2019 4:10 pm โดย teenproza7