Programowanie obiektowe > Lekcja 3
$this
Ostatnia modyfikacja: 01.06.2021
$this to specjalna zmienna, dostępna tylko wewnątrz obiektu. Możemy się przy jej użyciu odwołać do właściwości lub metody w danym obiekcie.
Jak to działa w praktyce? Bardzo prosto:
<?php
class Car
{
private string $color = 'black';
public function getColor(): string
{
return $this->color;
}
}
$car = new Car();
echo $car->getColor(); // result: black
Ten kod chyba nawet nie wymaga specjalnego wyjaśnienia. Wywołujemy publiczną metodę getColor() obiektu klasy Car, w której następuje odczyt prywatnej właściwości $color. Warto zauważyć, że odwołując się przez $this również nie używamy znaku $ na początku nazw właściwości.
Podobnie możemy postąpić z metodami - bez problemu wywołamy z wnętrza obiektu inną jego metodę:
<?php
class Car
{
private string $color = 'black';
private function setNewColor(): void
{
$this->color = 'blue';
}
public function getColor(): string
{
$this->setNewColor();
return $this->color;
}
}
$car = new Car();
echo $car->getColor(); // result: blue
I to w zasadzie tyle. Prosta rzecz, a jakże użyteczna.
Ćwiczenia
-
Stwórz klasę
Personz prywatnymi właściwościaminameorazcity. Przygotuj również metodygetName()igetCity()zwracające te dane.


Komentarze