PHP

PHP Sessions and Cookies

Introduction to Sessions Cookies in PHP

Inheritance and Polymorphism

Inheritance and Polymorphism in PHP

Inheritance and polymorphism are fundamental concepts in Object-Oriented Programming (OOP) that allow you to create flexible, maintainable, and scalable code. In this guide, we'll explore how these concepts work in PHP, including how to implement inheritance, use base and derived classes, and achieve polymorphism.

Inheritance in PHP

Inheritance is a mechanism in OOP that allows a class (called the child or derived class) to inherit properties and methods from another class (called the parent or base class). In PHP, you can create a derived class by extending a base class using the extends keyword. Here's a basic example:

class Vehicle {
    public $make;
    public $model;

    public function start() {
        echo "Starting the vehicle.\n";
    }
}

class Car extends Vehicle {
    public function drive() {
        echo "Driving the car.\n";
    }
}

In this example, the Car class inherits the properties and methods of the Vehicle class. This means that a Car object can access the start method and use the $make and $model properties.

Polymorphism in PHP

Polymorphism is the ability of different objects to respond to the same method call in a way that's appropriate for their individual types. It allows you to work with objects in a generic way. In PHP, you can achieve polymorphism by defining methods with the same name in both the base and derived classes.

For example:

class Shape {
    public function calculateArea() {
        // Method to calculate the area of a shape
    }
}

class Circle extends Shape {
    public function calculateArea() {
        // Method to calculate the area of a circle
    }
}

class Square extends Shape {
    public function calculateArea() {
        // Method to calculate the area of a square
    }
}

In this example, the calculateArea method is polymorphic. Depending on the object type (e.g., Circle or Square), the appropriate method will be called.

Using Inheritance and Polymorphism

You can use inheritance and polymorphism to build a hierarchy of classes that share common attributes and behaviors, while allowing for specific implementations in derived classes.

For instance, you can create an array of Shape objects, which can include circles and squares:

$shapes = [
    new Circle(),
    new Square()
];

foreach ($shapes as $shape) {
    echo "Area: " . $shape->calculateArea() . "\n";
}

In this example, the calculateArea method is called for each shape, and the appropriate implementation (circle or square) is used based on the object's type.

Conclusion

Inheritance and polymorphism are powerful tools in PHP OOP that enable code reuse, maintainability, and flexibility. By understanding how to create derived classes, inherit properties and methods, and use polymorphic methods, you can design more modular and extensible PHP applications. These concepts are essential for building object-oriented code that efficiently represents real-world entities and their behaviors.