Definicja klasy w PHP
Klasa jest strukturą, która opisuje obiekt. Do zdefiniowania klasy używamy słowa kluczowego class.
Składnia
class nazwa_klasy { //Definicja klasy }
W definicja klasy powinny/mogą się znaleźć:
- pola (atrybuty, właściwości),
- metody (czyli funkcje).
Nazwa klasy nie może się rozpoczynać od liczby, nie może używać słów zarezerwowanych w PHP jako słowa kluczowe. Można natomiast używać znaków narodowych.
Dobrą praktyką jest nazywanie klas od wielkiej litery.
Pola i metody
W polach przechowujemy wartości, tak jak w przypadku zmiennych. Na przykład obiekt Auto może mieć pola: kolor, moc_silnika, marka itp. Dostęp do pola możemy ograniczyć lub nie. Jeżeli pole ma być widoczne na zewnątrz klasy, używamy słowa kluczowego public.
class Nazwa_klasy { public $nazwa_pola; public $pole1, pole2,...,poleN; }
W przypadku metod klasy używamy zwykłych funkcji.
class Nazwa_klasy { public function nazwa_funkcji(argumenty) { // kod metody (funkcji) } }
Specyfikatory dostępu
Oto wszystkie modyfikatory (specyfikatory) dostępu:
- public - dostęp publiczny, nieograniczony do pól i metod, można się do nich w dowolny sposób odwoływać.
- private - dostęp prywatny, ograniczony jedynie w obrębie klasy, w której pola i metody prywatne są zdefiniowane.
- protected - dostęp chroniony, dostęp do takich elementów jest ograniczony do klasy, w których zostały zdefiniowane oraz do klas pochodnych.
Tworzenie obiektów
Dowolny obiekt w PHP utworzymy za pomocą słowa kluczowego new. Musimy mieć wcześniej zdefiniowaną klasę. Definiując obiekt, określamy jakiej klasy dany obiekt ma powstać. Możemy też stworzyć wiele obiektów tej samej klasy. Powiemy wówczas, że dany obiekt jest instancją konkretnej klasy.
Na przykład możemy mieć zdefiniowaną klasę Drzewo. A następnie tworzymy instancje brzoza, dąb, jesion itp.
$zmienna = new Nazwa_klasy();
Teraz $zmienna zawiera odwołanie do naszego obiektu.
Odwołania do składowych klasy
Aby odwołać się do pola albo metody używamy operatora "->".
Uwaga! W wielu językach programowania tym operatorem jest "." (kropka). W PHP jest inaczej.
Przykład
Zatem aby odwołać się do pola kolor w obiekcie $obiekt, będącym instancją klasy Auto, użyjemy zapisu: $obiekt->kolor;
Aby odwołać się do metody hamuj w obiekcie $obiekt, będącym instancją klasy Auto, użyjemy zapisu: $obiekt->hamuj();
Najwyższy czas na przykład.
Przykład 1
Utworzymy klasę Warzywa.
<?php class Warzywa
{
//pola
public $kolor = "zielony";
public $nazwa = "ogórek";
//metody
public function napisz(string $napis)
{
echo $napis.'<br>';
}
}
$warzywo = new Warzywa();
echo $warzywo->napisz("Bardzo lubię warzywa. Są zdrowe");
echo $warzywo->nazwa.'<br>';
echo $warzywo->kolor.'<br>';
$warzywo->nazwa = "marchewka";
$warzywo->kolor = "pomarańczowy";
echo $warzywo->nazwa.'<br>';
echo $warzywo->kolor.'<br>'; ?>
Utworzyliśmy klasę Warzywa. Klasa ta ma dwa pola: kolor i nazwa. Posiada też metodę napisz, która wyświetla na ekranie dowolny ciąg znaków.
Klasa ta nie ma większego znaczenia praktycznego, poza pokazaniem jest struktury. Od czegoś jednak trzeba zacząć.
Poniżej definicji klasy tworzymy obiekt $warzywo, a następnie wywołujemy metodę napisz i odczytujemy i wyświetlamy jego pola.
Co ważne, wartości pół odczytujemy tu bezpośrednio. W bezpośredni sposób przypisujemy też różne wartości do pól.
Można powyższe zrobić (i tak się zwykle robi) poprzez metody pośrednie (odczyt wartości pół i zapis wartości pól).
© medianauka.pl, 2021-11-27, A-4284
Data aktualizacji artykułu: 2024-06-29