Explain PHP Interfaces
In PHP, an interface is a contract that classes can implement. It allows you to define methods that must be implemented by any class that uses the interface. Interfaces are useful for defining a common set of methods that different classes can share, which helps in achieving abstraction and polymorphism.
Key Points About PHP Interfaces:
- Methods in Interfaces: Methods declared in an interface are always public and abstract. They cannot contain any code; they just define the method signature.
- Implementing an Interface: A class that implements an interface must provide an implementation for all the methods declared in the interface.
- Multiple Interfaces: A class can implement multiple interfaces, allowing it to adhere to multiple contracts.
- Interfaces and Inheritance: An interface cannot inherit from another class or interface but can extend multiple interfaces.
Basic Example:
Here’s a simple example to illustrate how interfaces work in PHP:
<?php
// Define an interface
interface Animal {
public function makeSound();
}
// Implement the interface in a class
class Dog implements Animal {
public function makeSound() {
return "Woof!";
}
}
// Implement the interface in another class
class Cat implements Animal {
public function makeSound() {
return "Meow!";
}
}
// Use the classes
$dog = new Dog();
echo $dog->makeSound(); // Output: Woof!
$cat = new Cat();
echo $cat->makeSound(); // Output: Meow!
?>
Explanation:
-
Defining the Interface: The
Animalinterface declares a single method,makeSound(), which does not have any implementation. -
Implementing the Interface: Both the
DogandCatclasses implement theAnimalinterface, meaning they must provide their own implementation of themakeSound()method. -
Using the Classes: When creating objects of
DogandCatand calling themakeSound()method, each object returns the specific sound corresponding to the class.
Example with Multiple Interfaces:
Here’s another example where a class implements multiple interfaces:
<?php
// Define two interfaces
interface Flyable {
public function fly();
}
interface Eatable {
public function eat();
}
// Implement both interfaces in a class
class Bird implements Flyable, Eatable {
public function fly() {
return "Flying high!";
}
public function eat() {
return "Eating worms!";
}
}
// Use the class
$bird = new Bird();
echo $bird->fly(); // Output: Flying high!
echo $bird->eat(); // Output: Eating worms!
?>
Explanation:
-
Defining Multiple Interfaces: The
FlyableandEatableinterfaces declare their respective methods. -
Implementing Multiple Interfaces: The
Birdclass implements bothFlyableandEatableinterfaces, so it must provide implementations for bothfly()andeat()methods. -
Using the Class: The
Birdobject provides functionality for both flying and eating.
Interfaces are a powerful feature in PHP that enable flexible and modular code design, allowing different classes to share a common set of methods without being tied to a single inheritance chain.
Your Feedback
Help us improve by sharing your thoughts
Online Learner helps developers master programming, database concepts, interview preparation, and real-world implementation through structured learning paths.
Quick Links
© 2023 - 2026 OnlineLearner.in | All Rights Reserved.
