อินเทอร์เฟซใน PHP | อินเทอร์เฟซ PHP OOPs

เผยแพร่แล้ว: 2021-03-03

สารบัญ

บทนำ

PHP เป็นภาษาเชิงวัตถุ และอินเทอร์เฟซเป็นหนึ่งในคุณสมบัติหลักของภาษาโปรแกรมเชิงวัตถุ อินเทอร์เฟซช่วยให้ผู้เข้ารหัสสามารถประกาศฟังก์ชันที่มีคำจำกัดความที่แตกต่างกันในคลาสที่ใช้อินเทอร์เฟซนั้น อ่านเพื่อทำความเข้าใจ อินเทอร์เฟ ใน PHP นอกจากนี้ ให้อ่าน ตัวอย่างอินเทอร์เฟซใน PHP ที่แชร์ในบทความเพื่อทำความเข้าใจมากขึ้น

อินเทอร์เฟซใน PHP

อินเทอร์เฟซเป็นคุณลักษณะในการเขียนโปรแกรมเชิงวัตถุที่อนุญาตให้สร้างฟังก์ชันโดยไม่ต้องดำเนินการ การดำเนินการจะต้องรวมอยู่ในชั้นเรียน ช่วยป้องกันความซับซ้อนของการกำหนดเมธอด เนื่องจากแต่ละคลาสที่สืบทอดอินเทอร์เฟซสามารถมีการใช้งานที่แตกต่างกันตามความต้องการ การใช้ อินเทอร์เฟซใน PHP นั้นคล้ายคลึงกับคลาส โดยมีความแตกต่างเพียงอย่างเดียวคือไม่มีการใช้งานในฟังก์ชันในอินเทอร์เฟซ และอินเทอร์เฟซไม่มีตัวแปร

คุณสมบัติของอินเทอร์เฟซใน PHP

  • อินเทอร์เฟซไม่มีรหัส
  • อินเทอร์เฟซมีการประกาศวิธีการที่มีหรือไม่มีอาร์กิวเมนต์ แต่ไม่ใช่คำจำกัดความ
  • คลาสที่ใช้อินเทอร์เฟซควรมีคำจำกัดความของวิธีการทั้งหมดที่ประกาศในอินเทอร์เฟซ
  • คลาสสามารถมีการใช้งานหลายอินเตอร์เฟส
  • อินเทอร์เฟซไม่สามารถมีวิธีการที่ไม่เป็นนามธรรมได้

ไวยากรณ์ของอินเทอร์เฟซ

จำเป็นต้องประกาศอินเทอร์เฟซก่อนใช้งาน ไวยากรณ์ของอินเทอร์เฟซคล้ายกับของคลาส โดยมีความแตกต่างเพียงอย่างเดียวคือใช้คำหลักของอินเทอร์เฟซในตำแหน่งของคำหลักระดับในขณะที่ประกาศอินเทอร์เฟซ ด้านล่างนี้เป็นไวยากรณ์สำหรับการประกาศ อินเทอร์เฟซใน PHP :

<?php

//การประกาศ อินเทอร์เฟซใน PHP

อินเทอร์เฟซ <ชื่ออินเทอร์เฟซ>

{

//รหัส

}

?>

วิธีการที่ประกาศภายในอินเทอร์เฟซสามารถเข้าถึงได้โดยการสืบทอดอินเทอร์เฟซตามคลาส คลาสรับส่วน ต่อประสานใน PHP โดยใช้คำหลักที่ใช้ในขณะที่ประกาศคลาส

ด้านล่างนี้คือไวยากรณ์ในการใช้งาน อินเทอร์เฟซใน PHP :

<?php

//ประกาศคลาส

คลาส <ชื่อคลาส> ใช้ <ชื่ออินเทอร์เฟซ>

{

//รหัส

}

?>

ตัวอย่างอินเตอร์เฟสใน PHP

เพื่อให้เข้าใจการใช้งานอินเทอร์เฟซ ให้เรามาดูตัวอย่างด้านล่าง:

<?php

//ประกาศอินเตอร์เฟส

ตัวอย่างอินเตอร์เฟส_รูปร่าง

{

ฟังก์ชั่นสาธารณะ ShapeArea();

}

//คลาสที่สืบทอดอินเตอร์เฟส

Class Shape1 ใช้ Example_Shape

{

ฟังก์ชั่นสาธารณะ ShapeArea()

{

ก้อง 'พื้นที่ของวงกลม';

}

}

//คลาสที่สืบทอดอินเตอร์เฟส

Class Shape2 ใช้ Example_Shape

{

ฟังก์ชั่นสาธารณะ ShapeArea()

{

Echo 'พื้นที่ของจัตุรัส';

}

}

// คลาสโดยไม่ต้องใช้อินเทอร์เฟซ

คลาส Shape3

{

ฟังก์ชันสาธารณะ AreaCal()

{

Echo 'ไม่มีอินเทอร์เฟซ';

}

}

$Obj1 = Shape1 ใหม่; // วัตถุสำหรับ class1

$Obj2 = Shape2 ใหม่; // วัตถุสำหรับ class2

$obj3 = Shape3 ใหม่; // วัตถุสำหรับคลาส 3 ไม่ใช้อินเตอร์เฟส

เสียงสะท้อน $obj1->ShapeArea();

ก้อง '<br>';

เสียงสะท้อน $obj2->ShapeArea();

ก้อง '<br>';

เสียงสะท้อน $obj3->AreaCal();

?>

เอาท์พุต

พื้นที่วงกลม

พื้นที่สี่เหลี่ยม

ไม่มีอินเทอร์เฟซ

คำอธิบายของผลลัพธ์

คลาส Shape1 มีคำจำกัดความของฟังก์ชันที่ประกาศภายในอินเทอร์เฟซ Shape1 ใช้อินเทอร์เฟซ ดังนั้นจึงสามารถเข้าถึงฟังก์ชันภายในและพิมพ์ 'พื้นที่ของวงกลม' คำอธิบายที่คล้ายกันสำหรับคลาส Shape2 และเอาต์พุต 'พื้นที่ของสี่เหลี่ยมจัตุรัส' คลาส Shape3 ไม่ได้ใช้งานอินเทอร์เฟซและทำงานเหมือนคลาสปกติใน PHP

การใช้งานอินเทอร์เฟซหลายตัว

คลาสสามารถใช้อินเทอร์เฟซได้มากกว่าหนึ่งอินเทอร์เฟซ ในกรณีเช่นนี้ คลาสต้องมีคำจำกัดความของเมธอดทั้งหมดที่ประกาศในอินเทอร์เฟซทั้งหมดที่คลาสกำลังนำไปใช้ ด้านล่างนี้คือภาพประกอบของการใช้งานอินเทอร์เฟซมากกว่าหนึ่งตัว ใน PHP

<?php

// ประกาศอินเทอร์เฟซ

ตัวอย่างอินเทอร์เฟซ1

{

ฟังก์ชั่นสาธารณะ method1();

}

// ประกาศอินเทอร์เฟซอื่น

ตัวอย่างอินเทอร์เฟซ2

{

ฟังก์ชั่นสาธารณะ method2();

}

//คลาสที่ใช้สองอินเตอร์เฟสที่ประกาศไว้ด้านบน

คลาส class1 ใช้ example1, example2

{

// ความหมายของเมธอดของ interface1

วิธีการทำงานสาธารณะ1

{

ก้อง 'ภายใน interface1 method1';

}

//คำจำกัดความของวิธีการของอินเตอร์เฟส2

ฟังก์ชันสาธารณะ วิธี2

{

ก้อง 'ภายใน interface2 method2;

}

}

Obj1 = คลาสใหม่ 1;

Obj2 = class2 ใหม่;

Obj1->method1;

Obj2->method2;

?>

เอาท์พุต

ภายในอินเตอร์เฟส1เมธอด1

ภายใน interface2 method2

ข้อควรทราบบางประการเกี่ยวกับการปรับใช้อินเทอร์เฟซหลายตัว

  • วิธีการทั้งหมดที่ประกาศในอินเทอร์เฟซควรเป็นแบบสาธารณะ
  • ฟังก์ชันต้องไม่มีคีย์เวิร์ด abstract
  • หากโปรแกรมเมอร์ลืมกำหนดฟังก์ชันอินเทอร์เฟซ รหัสจะเกิดข้อผิดพลาด
  • อินเทอร์เฟซไม่สามารถมีตัวแปรได้

ชำระเงิน: แนวคิด OOPs ใน PHP

ความแตกต่างระหว่างอินเทอร์เฟซและคลาสนามธรรม

ด้านล่างนี้คือความแตกต่างบางประการระหว่างอินเทอร์เฟซและคลาสนามธรรม:

  • อินเทอร์เฟซประกอบด้วยการประกาศเท่านั้น แต่คลาสนามธรรมมีทั้งการประกาศเมธอดและคำจำกัดความ
  • เมธอดในอินเทอร์เฟซสามารถเป็นแบบสาธารณะได้เท่านั้น ในขณะที่เมธอดในคลาสนามธรรมสามารถประกาศเป็นสาธารณะ ส่วนตัว หรือป้องกันได้
  • หนึ่งคลาสสามารถใช้อินเทอร์เฟซได้มากกว่าหนึ่งรายการ ในขณะที่คลาสหนึ่งสามารถขยายวิธีการนามธรรมได้เพียงวิธีเดียวเท่านั้น

บทสรุป

อินเทอร์ เฟ ซใน PHP เป็นคุณลักษณะที่ช่วยให้ผู้ใช้สามารถประกาศวิธีการสาธารณะโดยไม่มีคำจำกัดความ บทความนี้อธิบายข้อมูลทั้งหมดเกี่ยวกับอินเทอร์เฟซพร้อมไวยากรณ์และตัวอย่าง เราหวังว่าข้อมูลที่แบ่งปันในบทความนี้จะเป็นประโยชน์กับคุณในการทำความเข้าใจแนวคิด คุณสามารถเรียนรู้หัวข้อที่คล้ายกันตาม PHP ได้จากบล็อก upGrad เพื่อความเข้าใจอย่างลึกซึ้ง คุณสามารถลงทะเบียนสำหรับหลักสูตรการรับรองออนไลน์เกี่ยวกับ PHP ที่ upGrad upGrad มีหลักสูตรประกาศนียบัตรมากมายที่สามารถช่วยคุณในด้านอาชีพและการเรียนรู้

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการมากกว่า 9 โครงการ และ การมอบหมายงาน สถานะศิษย์เก่า IIIT-B โครงการหลักที่นำไปปฏิบัติจริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ

มาเป็นนักพัฒนาเต็มรูปแบบ

อัปเกรดและ PG DIPLOMA ของ IIIT-BANGALORE ในการพัฒนาซอฟต์แวร์สแต็กเต็มรูปแบบ
เรียนรู้เพิ่มเติม