PHP/Klasy i obiekty: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Lethern (dyskusja | edycje)
m Wycofano edycje użytkownika 62.69.200.188 (dyskusja). Autor przywróconej wersji to 77.237.20.254.
Beau (dyskusja | edycje)
sprzątanie kodu
Linia 1:
<div class="noprint">{{prognaw|PHP|[[../Czym jest programowanie obiektowe?/]]|[[../Konstruktory_i_destruktoryKonstruktory i destruktory/|Konstruktory i destruktory]]}}</div>
{{podświetl|php}}
 
<div class="noprint">{{prognaw|PHP|[[../Czym jest programowanie obiektowe?/]]|[[../Konstruktory_i_destruktory/|Konstruktory i destruktory]]}}</div>
 
== Klasy i obiekty ==
 
W tym rozdziale nauczymy się, jak tworzyć klasy i obiekty w PHP.
 
Linia 10 ⟶ 7:
 
=== Tworzenie klas ===
 
W językach programowania klasy traktowane są zawsze jako rodzaj typów danych. W PHP deklarujemy je słowem kluczowym '''class''', po którym podajemy jej unikalną nazwę. Zasady jej tworzenia są podobne, jak w przypadku nazw zmiennych, tj. nie mogą one zaczynać się od cyfry. Następnie w nawiasach klamrowych umieszczamy informacje o dozwolonych polach oraz metodach, jakie klasa będzie posiadać:
 
Linia 63 ⟶ 59:
 
=== Zmienne obiektowe są referencjami ===
 
Wspomnieliśmy, że w PHP5 obiekty nie są rodzajem wartości, lecz oddzielnym bytem, do którego skrypt posiada jedynie referencje. Spójrzmy, czym to skutkuje w praktyce. Rozpatrzmy prosty skrypt:
 
Linia 100 ⟶ 95:
 
=== Kontrola dostępu (hermetyzacja) ===
 
W przeciwieństwie do funkcji i programowania strukturalnego, klasy posiadają precyzyjne mechanizmy kontroli dostępu do swojego wnętrza. Proces ukrywania części funkcjonalności przed programistą nosi nazwę ''hermetyzacji'' i pomaga zwiększyć niezawodność oprogramowania. Tworząc klasę, będziemy zawsze starali się określić tzw. publiczny interfejs, z którego może korzystać programista, odwołując się do tworzonych obiektów, jednocześnie ukrywając wszystkie wewnętrzne aspekty działania klasy. Interpreter będzie pilnować, aby użytkownicy nie wywołali żadnej "wewnętrznej" metody, co mogłoby doprowadzić do błędów w działaniu lub użycia jej niezgodnie z przeznaczeniem.
 
Linia 177 ⟶ 171:
 
=== Praktyczne zastosowanie ===
 
Spróbujmy teraz napisać kod, który będzie przydatny w aplikacji WWW. Stworzymy prosty, obiektowy i rozszerzalny mechanizm konfiguracji, na przykładzie którego pokażemy kilka technik projektowania obiektowego. Będzie on składać się z dwóch klas:
 
Linia 284 ⟶ 277:
 
== Zakończenie ==
 
Mamy już solidne podstawy programowania obiektowego, a także pokazaliśmy, w jaki sposób wykorzystuje się jego własności podczas tworzenia oskryptowania stron internetowych, pisząc modularny i łatwy w rozbudowie system konfiguracji. W następnym rozdziale pokażemy, jak sterować tworzeniem i niszczeniem obiektów.