⊗ppOpIfPm 69 of 107 menu

พารามิเตอร์ในเมธอดของอินเทอร์เฟซใน OOP ใน PHP

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

มาดูตัวอย่างกัน สมมติว่าเรามีอินเทอร์เฟซ iMath ซึ่งอธิบายคลาสสำหรับการดำเนินการทางคณิตศาสตร์ การบวก การลบ การคูณ และการหาร สมมติว่าอินเทอร์เฟซนี้มีลักษณะดังนี้:

<?php interface iMath { public function sum(); public function subtract(); public function multiply(); public function divide(); } ?>

ตอนนี้เมธอดของอินเทอร์เฟซของเราไม่รับพารามิเตอร์ใดๆ และจริงๆ แล้วเมธอดของคลาสที่จะใช้อินเทอร์เฟซนี้ก็จะต้องไม่รับพารามิเตอร์เช่นกัน ไม่เช่นนั้นจะเกิดข้อผิดพลาด

เรามาระบุพารามิเตอร์ของเมธอดในอินเทอร์เฟซของเรากัน:

<?php interface iMath { public function sum($a, $b); public function subtract($a, $b); public function multiply($a, $b); public function divide($a, $b); } ?>

ตอนนี้เรามาเขียนการใช้งานอินเทอร์เฟซของเรา:

<?php class Math implements iMath { public function sum($a, $b) { return $a + $b; } public function subtract($a, $b) { return $a - $b; } public function multiply($a, $b) { return $a * $b; } public function divide($a, $b) { return $a / $b; } } ?>

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

สมมติว่าเรามีอินเทอร์เฟซ iUser ดังต่อไปนี้:

<?php interface iUser { public function setName($name); public function getName(); public function setAge($age); public function getAge(); } ?>

สร้างคลาส User ที่จะใช้อินเทอร์เฟซนี้

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ