PHPDevs

Projekt obiektowy z Composerem i Twigiem? Czytaj!

Programowanie obiektowe > Lekcja 3

$this

$this jest 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 $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 Car, w której następuje odczyt prywatnej właściwości $color. Warto również 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 $color = 'black';

    private function setNewColor()
    {
        $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

  1. Stwórz klasę Person z prywatnymi właściwościami name oraz city. Przygotuj również metody getName() i getCity() zwracające te dane.

    Przykładowe rozwiązanie

Poprzednia lekcja Następna lekcja

Udostępnij

  • Facebook
  • Twitter
  • Google+

Komentarze