पीएचपी ओओपी - इंटरफेस
पीएचपी - इंटरफेस क्या हैं?
इंटरफेस आपको यह निर्दिष्ट करने की अनुमति देता है कि एक वर्ग को किन तरीकों को लागू करना चाहिए।
इंटरफेस एक ही तरह से विभिन्न वर्गों की एक किस्म का उपयोग करना आसान बनाता है। जब एक या अधिक वर्ग एक ही इंटरफ़ेस का उपयोग करते हैं, तो इसे "बहुरूपता" कहा जाता है।
interface
कीवर्ड के साथ इंटरफेस घोषित किए गए हैं :
वाक्य - विन्यास
<?php
interface InterfaceName {
public function someMethod1();
public function someMethod2($name, $color);
public function
someMethod3() : string;
}
?>
पीएचपी - इंटरफेस बनाम एब्सट्रैक्ट क्लासेस
इंटरफ़ेस अमूर्त वर्गों के समान है। इंटरफेस और अमूर्त वर्गों के बीच अंतर हैं:
- इंटरफेस में गुण नहीं हो सकते हैं, जबकि अमूर्त वर्ग कर सकते हैं
- सभी इंटरफ़ेस विधियाँ सार्वजनिक होनी चाहिए, जबकि अमूर्त वर्ग विधियाँ सार्वजनिक या संरक्षित हैं
- इंटरफ़ेस में सभी विधियां सार हैं, इसलिए उन्हें कोड में लागू नहीं किया जा सकता है और सार कीवर्ड आवश्यक नहीं है
- एक ही समय में किसी अन्य वर्ग से इनहेरिट करते हुए कक्षाएं एक इंटरफ़ेस को लागू कर सकती हैं
पीएचपी - इंटरफेस का उपयोग करना
इंटरफ़ेस को लागू करने के लिए, एक वर्ग को implements
कीवर्ड का उपयोग करना चाहिए।
इंटरफ़ेस लागू करने वाले वर्ग को इंटरफ़ेस के सभी तरीकों को लागू करना चाहिए ।
उदाहरण
<?php
interface Animal {
public function makeSound();
}
class Cat implements Animal {
public function makeSound() {
echo "Meow";
}
}
$animal = new Cat();
$animal->makeSound();
?>
ऊपर के उदाहरण से, मान लीजिए कि हम एक सॉफ्टवेयर लिखना चाहते हैं जो जानवरों के एक समूह का प्रबंधन करता है। ऐसे कार्य हैं जो सभी जानवर कर सकते हैं, लेकिन प्रत्येक जानवर इसे अपने तरीके से करता है।
इंटरफेस का उपयोग करके, हम कुछ कोड लिख सकते हैं जो सभी जानवरों के लिए काम कर सकते हैं, भले ही प्रत्येक जानवर अलग-अलग व्यवहार करता हो:
उदाहरण
<?php
// Interface definition
interface Animal {
public
function makeSound();
}
// Class definitions
class Cat
implements Animal {
public function makeSound() {
echo " Meow ";
}
}
class Dog implements Animal {
public function makeSound()
{
echo " Bark ";
}
}
class Mouse implements Animal {
public function makeSound() {
echo " Squeak ";
}
}
// Create a list
of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new
Mouse();
$animals = array($cat, $dog, $mouse);
// Tell the animals
to make a sound
foreach($animals as $animal) {
$animal->makeSound();
}
?>
उदाहरण समझाया गया
makeSound()
कैट, डॉग और माउस सभी वर्ग हैं जो एनिमल इंटरफेस को लागू करते हैं, जिसका अर्थ है कि वे सभी विधि का उपयोग करके ध्वनि बनाने में सक्षम हैं । इस वजह से, हम सभी जानवरों के माध्यम से लूप कर सकते हैं और उन्हें ध्वनि बनाने के लिए कह सकते हैं, भले ही हम नहीं जानते कि प्रत्येक किस प्रकार का जानवर है।
चूंकि इंटरफ़ेस कक्षाओं को यह नहीं बताता कि विधि को कैसे कार्यान्वित किया जाए, प्रत्येक जानवर अपने तरीके से ध्वनि बना सकता है।