Building Worlds on Abstract Class Pillars Abstract classes  represent abstract concepts. In our previous article, we created various classes that inherited properties and methods from its parent. https://www.dinocajic.com/php-self-keyword/ Looking at the Animal class hierarchy, the Animal class itself is an abstract concept. We can vaguely say Animal, but what type of animal? A Dog may be a narrow enough concept, but a GermanShepherd is definitely a concrete class, not abstract. Abstract classes are classes that start with the word abstract. If a class contains at least one abstract method, it must be declared as abstract. If a method inside of an