DEV Community

Ghulam Mujtaba
Ghulam Mujtaba

Posted on

Abstract classes in OOP

Abstract classes in PHP are classes that cannot be instantiated on their own and are designed to be inherited by other classes. They can contain both abstract and concrete methods.

Abstract classes are defined using the abstract keyword, and any class that contains at least one abstract method must be declared as an abstract class.

Characteristics

  1. Cannot be instantiated directly
  2. Must be inherited by another class
  3. Can contain both abstract and concrete methods
  4. Abstract methods must be implemented by child classes
  5. Concrete methods can be used by child classes without implementation

<?php

abstract class AchivementType
{
    public function name(){
        $class = (new ReflectionClass($this))->getShortName();
        return trim(preg_replace('/[A-Z]/','$0', $class));
    }
    public function icon()
    {
        return strtolower(str_replace('','-', $this->name())).'.png';
    }
    abstract public function qualifier($user);
}
Enter fullscreen mode Exit fullscreen mode

I hope that you have clearly understood the concept of abstract classes.

Top comments (0)