Loading...

How to Abstract Class in PHP

View: 517    Dowload: 0   Comment: 0   Post by: hanhga   Category: Php&mySql   Fields: Other

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.

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

abstract class car{
 
   /* Abstract method, this must be define in child class. */
 
    abstract public function modelType(); 
 
   /* Concrete method, which is same in all classes. */
 
    public function wheelCount() {
 
      echo "I have four wheels";
    }
 
}

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.

class HondaCity extends car{
 
    public function modelType(){
        echo "HondaCity";
    }
}
 
$car = new HondaCity;
$car->modelType();
/* Common method, which can be accessed using a child class object. */
$car->wheelCount();

class Swift extends car {
 
 public function modelType() {
 echo "swift";
 }
}
 
$car = new Swift;
$car->modelType();
$car->wheelCount();
​Example 2  – Let’s take an another example to understand an abstract class
//An abstract class shape
 
abstract class Shape {
    
    abstract protected function getColor();
 
    abstract protected function setColor($color); 
   
    //Common method available for all the classes which extends shape class
    public function describe() {
        return sprintf("I'm an %s %s\n", $this->getColor(), get_class($this));
    }   
}

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

// Class square extends shape class
 
class Square extends Shape {
    
    private $color = null;
    
 
    public function getColor() {
        return $this->color;
    }   
    
    public function setColor($color) {
        $this->color = $color;
    }   
}
 
//Instantiate the Square class
 
$square = new Square();
 
//Set the color
$square->setColor('Orange');
 
// Print the description
echo $square->describe();

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

Conclusion

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

How to 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.

Posted on 07-10-2016 

Comment:

To comment you must be logged in members.

Files with category

  • Twitter-like Hashtag Function in PHP

    Twitter-like Hashtag Function in PHP

    View: 0    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    If you ever want a function to hashtag and style words within a string which has '#' next to it like twitter. This piece of code will help

  • PSITS Automated Voting System

    PSITS Automated Voting System

    View: 24    Download: 3   Comment: 0

    Category: Php&mySql     Fields: none

    A free sourcecode for PSITS Automated Voting System develop in PHP programming language. The purposed of the system is to automate the process of voting and maintain the quality of data

  • PHP-University Application System

    PHP-University Application System

    View: 30    Download: 6   Comment: 0

    Category: Php&mySql     Fields: none

    Greeting from Malawi the warm heart of Africa. I developed this university registration system project just to share with the people who can make use of the project like this and at the same time for others like students who can learn from it. This...

  • School Event Management System in PHP/MSQLi

    School Event Management System in PHP/MSQLi

    View: 22    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    This School Event Management System can create school events such as Volleyball games, Basketball, Cultural presentation, Election of school officers etc . During school election Instead of having a compile list of candidates and voters this system...

  • Resort Reservation System with PayPal/Credit Card/Debit Card Payment

    Resort Reservation System with PayPal/Credit Card/Debit Card Payment

    View: 27    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    This reservation system has the ability to help its customers find available rooms, cottages and even function hall for their convenience . And in here, they will also have the idea of the room rates where they can quickly reserve for their family...

  • Activity log

    Activity log

    View: 20    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    Simple program to track user's activity log-in time and online/offline status.

  • Electricks - eCommerce

    Electricks - eCommerce

    View: 22    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    Electricks is an e-commerce website built using PHP, Bootstrap and some jQuery plugins. It has all the major functionalities of a typical e-shop. This project was used to present in Southern Luzon State University - Lucban. Feel free to use this code...

  • Simple Email App Using PHP

    Simple Email App Using PHP

    View: 18    Download: 0   Comment: 0

    Category: Php&mySql     Fields: none

    Creating a simple PHP script using mail function for sending out emails.

 
File suggestion for you
Loading...
File top downloads
Loading...
Loading...
Codetitle - library source code to share, download the file to the community
Copyright © 2018. All rights reserved. codetitle Develope by Vinagon .Ltd