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źć:

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:

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



Udostępnij
©® Media Nauka 2008-2023 r.