Dziedziczenie a porównywanie
Założenie: Zrozumieć, jak dziedziczenie wpływa na porównywanie obiektów w PHP i jak porównywać obiekty klas bazowych i pochodnych.
Krok po kroku:
- Definicja klasy bazowej: Stwórzmy klasę bazową
Animal
z metodą__toString()
, która zwraca nazwę zwierzęcia. - Definicja klasy pochodnej: Utwórzmy klasę pochodną
Dog
dziedziczącą po klasieAnimal
i dodajmy do niej metodębark()
. - Tworzenie obiektów: Utwórzmy obiekty klas
Animal
iDog
. - Porównywanie obiektów: Spróbujmy porównać obiekty za pomocą operatora
==
. Pamiętaj, że porównuje on referencje, a nie wartości. - Porównywanie wartości: Aby porównać wartości, musimy porównać właściwości obiektów, np. nazwy.
name = $name;
}
public function __toString() {
return $this->name;
}
}
?>
name == $dog->name); // false - nazwy są różne
?>
W tym przykładzie pokazaliśmy, jak dziedziczenie wpływa na porównywanie obiektów. Operator ==
porównuje referencje, a nie wartości obiektów. Aby porównać wartości, należy porównać poszczególne właściwości obiektów.
Zachęcamy do dalszego zgłębiania tematu dziedziczenia w PHP!