Samouczek PHP - programowanie obiektowe: podstawy i praktyka

Widoczność właściwości w PHP – public, private i protected

Wszystkie filmy z tutorialu Samouczek PHP – programowanie obiektowe: podstawy i praktyka

Widoczność zmiennych, szczególnie w przypadku własności i metod w programowaniu obiektowym, jest kluczowym pojęciem, które ma ogromne znaczenie dla każdego programisty. Szczególnie w PHP modyfikatory widoczności public, private i protected określają, kto może uzyskać dostęp do określonych własności i metod. Te pojęcia pomagają w implementacji enkapsulacji danych, co sprawia, że programy obiektowe są bardziej odporne i łatwiejsze w utrzymaniu. W tym przewodniku nauczysz się, jak stosować te modyfikatory i jakie mają one konsekwencje dla struktury twojego programowania.

Najważniejsze wnioski

  • public: Własności są dostępne z każdego miejsca.
  • private: Własności są dostępne tylko wewnątrz samej klasy.
  • protected: Własności są dostępne wewnątrz klasy oraz w klasach pochodnych.

Przewodnik krok po kroku

1. Utworzenie prostej klasy z publiczną własnością

Na wstępie utworzymy klasę Auto, w której zdefiniujemy publiczną własność o nazwie Prędkość. To pozwoli ci zrozumieć, jak z zewnątrz można uzyskać dostęp do tej własności.

Widoczność właściwości w PHP – public, private i protected

Możesz teraz utworzyć obiekt tej klasy:

Widoczność właściwości w PHP – publiczne, prywatne i chronione

Jeśli teraz ustawisz Prędkość auta na 30, 50 lub nawet 130, nie napotkasz żadnych ograniczeń – to jest siła publicznej widoczności.

2. Wprowadzenie maksymalnej prędkości z prywatną własnością

Teraz dodajemy prywatną własność maksymalnaprędkość i zmieniamy metodę tak, aby ustalała tylko dozwolone prędkości. W ten sposób możesz upewnić się, że przypisane będą tylko prawidłowe wartości.

Dzięki tej metodzie możesz ustawić prędkość, jednocześnie zapewniając, że nie pojawią się błędy spowodowane zbyt wysokimi wartościami.

Widoczność właściwości w PHP – public, private & protected

3. Użycie metod Getter i Setter dla prywatnych własności

Ponieważ maksymalnaprędkość jest prywatna, można ją udostępnić tylko za pomocą metod w klasie. Poniższy przykład pokazuje, jak zaimplementować metody Getter i Setter.

Widoczność właściwości w PHP – public, private i protected

Dzięki tym metodom osiągasz enkapsulację i kontrolę nad własnościami z zewnątrz.

Widoczność właściwości w PHP – public, private i protected

4. Zrozumienie modyfikatora protected

Teraz przyjrzymy się modyfikatorowi protected. Oferuje on klasom dziedziczącym z innych klas dostęp do określonych własności. Oznacza to, że klasy pochodne mogą nadal korzystać z danej metody lub własności lub ją nadpisywać.

Widoczność właściwości w PHP – public, private i protected

W tym przypadku KlasaWyścigowa ma dostęp do chronionej własności, podczas gdy zewnętrzne klasy nie mają takiego dostępu. Umożliwia to kodowanie określonego zachowania dla klas pochodnych.

5. Decyzja o widoczności

Ważna decyzja, którą musisz podjąć, dotyczy widoczności twoich własności. Zasadniczo powinieneś używać private, chyba że jest oczywiste, że dana własność jest potrzebna w kontekście dziedziczenia. W takim przypadku wybierz protected.

Widoczność atrybutów w PHP – public, private i protected

Pamiętaj, że jeśli jesteś w fazie konserwacji lub pracujesz nad nową funkcjonalnością, zawsze możesz później zmienić swoje kontrole dostępu, jeśli zajdzie taka potrzeba.

Podsumowanie – Widoczność we własnościach: public, private i protected w PHP

Widoczność własności w PHP jest kluczowa dla zrozumienia enkapsulacji danych i programowania obiektowego. Dzięki modyfikatorom public, private i protected możesz osiągnąć precyzję i kontrolę nad dostępem do własności i metod w swoich klasach. Stosując te zasady, znacznie poprawiasz utrzymanie i bezpieczeństwo swojego kodu.

Najczęściej zadawane pytania

Co oznacza public w PHP?public oznacza, że własność lub metoda jest dostępna z każdego miejsca.

Co oznacza private w PHP?private oznacza, że własność lub metoda może być wywoływana tylko przez własną klasę.

Co oznacza protected w PHP?protected oznacza, że własność lub metoda może być wywoływana przez własną klasę oraz klasy dziedziczące.

Kiedy powinienem używać private?Powinieneś domyślnie używać private, aby zmaksymalizować widoczność i kontrolę.

Kiedy mogę przełączyć się na protected?Przełącz się na protected, gdy własność jest potrzebna w klasach dziedzicznych i chcesz zapobiec dostępowi z zewnątrz.