Abstract classes are classes that contain one or more abstract methods.
An abstract method is a method that is declared, but not implemented in the code.
Subclasses of the abstract class must implement all of the abstract methods in order to be instantiated.
Abstract classes cannot be instantiated, and they are often used as a base class for other classes to extend from.
Syntax
<?php
abstract class BaseClass {
abstract public function someMethod1();
abstract public function someMethod2($name, $color);
abstract public function someMethod3() : string;
}
?>
Sample Code
<?php
// Base class
abstract class Car {
public $name;
public function __construct($name) {
$this->name = $name;
}
abstract public function intro() : string;
}
// Derived classes
class Audi extends Car {
public function intro() : string {
return "Choose German quality! I'm an $this->name!";
}
}
class Volvo extends Car {
public function intro() : string {
return "Proud to be Swedish! I'm a $this->name!";
}
}
class Citroen extends Car {
public function intro() : string {
return "French extravagance! I'm a $this->name!";
}
}
// Create objects from the derived classes
$audi = new audi("Audi");
echo $audi->intro();
echo "<br>";
$volvo = new volvo("Volvo");
echo $volvo->intro();
echo "<br>";
$citroen = new citroen("Citroen");
echo $citroen->intro();
?>
Output
Choose Indian quality! I'm an Tata!
Proud to be a Korean! I'm a Kia!
British extravagance! I'm a MG!
Related Searches to Abstract Classes in PHP - PHP OOPs Abstract Class
php oop abstract classesclass abstractionabstract classes in phpphp oops abstract classabstract classes and methods in phpphp abstract classexplain abstract class in phpphp abstract class and methodsphp oop abstact classes and methodsphp abstract classesphp abstract methodphp abstract class constructorphp abstract class propertiesinterface class in phpabstract class in php with example