Sobes.tech
Junior — Middle

Jaki jest główny cel tworzenia klas abstrakcyjnych w programowaniu obiektowym?

sobes.tech AI

Odpowiedź od AI

Głównym celem klas abstrakcyjnych jest zdefiniowanie wspólnego szablonu dla grupy powiązanych klas, określenie podstawowej struktury i zachowania, ale bez implementacji wszystkich szczegółów. Klasa abstrakcyjna nie może być bezpośrednio instancjonowana; służy do dziedziczenia i wymusza na klasach potomnych implementację określonych metod. Pomaga to zapewnić spójność i unikać duplikacji kodu.

Przykład w PHP:

abstract class Animal {
    abstract public function makeSound();

    public function sleep() {
        echo "Śpi...";
    }
}

class Dog extends Animal {
    public function makeSound() {
        echo "Hau!";
    }
}

$dog = new Dog();
$dog->makeSound(); // Wyświetli: Hau!
$dog->sleep();     // Wyświetli: Śpi...