What is inheritance?

Inheritance is a fundamental concept in object-oriented programming (OOP) in PHP and many other programming languages. It allows you to create new classes (subclass or child class) that inherit properties and methods from existing classes (superclass or parent class). Inheritance promotes code reuse, reduces redundancy, and establishes a hierarchical relationship between classes.


Key Concepts in Inheritance:


  1. Parent and Child Classes:

   – The parent class (superclass) is the original class that contains common properties and methods. The child class (subclass) is the new class that inherits from the parent class and can also have its own additional properties and methods.


  1. “is-a” Relationship:

   – Inheritance models an “is-a” relationship, where the child class is a specialized version of the parent class. For example, a “Car” class can be a parent class, and “Sedan” and “SUV” classes can be child classes that inherit from it.


  1. Access to Parent Class Members:

   – In PHP, child classes can access public and protected members (properties and methods) of the parent class. Private members are not accessible directly in child classes.


  1. Method Overriding:

   – Child classes can override (replace) methods inherited from the parent class. This allows child classes to provide specialized implementations of inherited methods while retaining the method’s name and parameters.



class Vehicle {
    public $brand;
    public function startEngine() {
        return "Engine started!";

class Car extends Vehicle {
    public function openTrunk() {
        return "Trunk opened!";
    // Method overriding
    public function startEngine() {
        return "Car engine started!";

In this example, the “Car” class inherits the “brand” property and “startEngine()” method from the “Vehicle” class. It also has its own “openTrunk()” method. When you create an instance of the “Car” class, it can access both the inherited and its own methods.


Inheritance is a powerful concept in PHP that enhances code organization, promotes reuse, and simplifies the modeling of hierarchical relationships in your applications. It’s a fundamental building block of object-oriented programming.


Previously at
Flag Argentina
time icon
Full Stack Engineer with extensive experience in PHP development. Over 11 years of experience working with PHP, creating innovative solutions for various web applications and platforms.