Abstract Class in PHP

What is an abstract class in PHP and when to use an abstract class in your application. In this tutorial, we’ll learn about abstract class and their implementation.

Abstract Class in PHP

An abstract class is a class that contains at least one abstract method. An abstract method is simply a function definition without any actual code in it. An abstract method contains a method name and the parameters of a method with an abstract keyword at the beginning of a method.

An Abstract class acts as a blue print for a class which inherit them. A child class which inherits an abstract class needs to implement their abstract methods. An abstract class is only created for an inheritance, it means you can’t create their object directly.

Important Points about an Abstract Class

1. An Abstract Class cannot be instantiated, It means you cannot use them directly.

2. An abstract method should not be private .

3. When any child class inherits an abstract class then all the abstract methods in a parent class must be defined in a child class.

4.  An Abstract class can also have non-abstract (concrete) methods.

5. An Abstract class does not support multiple inheritance.

Interfaces in PHP

When to use an Abstract Classes

The real question is when to use an abstract classes in a code.

Use an abstract class, when you need to implement a common functionality across multiple classes. In this way, your code is organized and well structured.

PHP Traits.

Subscribe Our Tutorials

Get Latest Updates on Facebook

Abstract class vs interface

To understand this concept, let’s create an abstract class car. Every car has their own model type such as BMW, Swift, HondaCity etc. which they need to define. And each car shares some common functionality such as all car have four wheels.

Let’s create a class car. In a car class, I’ll create an abstract method modelType.

Every car has four wheels, so let’s define a concrete method wheelcount(). Every child class which inherits car class must define their own model type.

You can’t create an object of an abstract class directly. Let’s check what happens, if you try to create an object.

$data = new car;

PHP Fatal error: Cannot instantiate abstract class. So remember you can’t instantiate abstract classes.

Let’s create a child class, which inherits an abstract class.

Example 2  – Let’s take an another example to understand an abstract class.

Let’s create a circle class which extends an abstract class shape

Similarly, we can create another class square which can extend our shape class.

For more information, you can check php.net documentation.


By using an abstract class in your code, you can provide a blueprint for a child classes.

About WebRewrite

I am technology lover who loves to keep updated with latest technology. My interest field is Web Development.
Tagged , , . Bookmark the permalink.