PHP OOP - Moștenire. PHP - Ce este Moștenirea? Moștenirea în OOP. Clasa inherited. Clasa child. Clasa parent. Clasa Strawberry. Clasa Fruit. Proprietățiile $name și $color. Metodele publice __construct() și intro(). Metoda message().

PHP OOP - Moștenire (PHP OOP - Inheritance)

PHP - Ce este Moștenirea? (PHP - Ce este Inheritance?)

Moștenirea în OOP (Inheritance în OOP) = Când o clasă derivă dintr-o altă clasă.

Clasa child (copil) va moșteni toate proprietățiile și metodele publice și protejate de la clasa parent (părinte). În plus, poate avea propriile sale proprietăți și metode.

O clasă inherited (moștenită) este definită folosind cuvântul cheie extensie (extends keyword).

Să ne uităm la un exemplu:

Exemplu:
 
<?php
class Fruit {
  public $name;
  public $color;
  public function __construct($name, $color) {
    $this->name = $name;
    $this->color = $color;
  }
  public function intro() {
    echo "Fructul este {$this->name} și culoarea este {$this->color}.";
  }
}

// Strawberry este moștenită (inherited) de la Fruit
class Strawberry extends Fruit {
  public function message() {
    echo "Am I a fruit or a berry? ";
  }
}
$strawberry = new Strawberry("Strawberry", "red");
$strawberry->message();
$strawberry->intro();
?>

Exemplu explicat

Clasa Strawberry este moștenită (inherited) de la clasa Fruit.

Aceasta înseamnă că clasa Strawberry poate folosi numele public $name și proprietățiile $color, precum și metodele publice __construct() și intro() din clasa Fruit din cauza moștenirii (inheritance).

Clasa Strawberry are, de asemenea, propria sa metodă: message().