Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [pytanie] Zasięg zmiennych w klasach? poco to
Forum PHP.pl > Forum > PHP
gadzio
Witam, od kilku dni zastanawiam się nad tym pytanie: Zasięg zmiennych, poco to jest?
Wiem, iż private można wywoływać tylko w wewnątrz klasy, protected to private tylko, że można to dziedziczyć, ale po co komu to? nie lepiej ich nie używać?

Pozdrawiam i proszę o odpowiedź.
Cysiaczek
Musisz na to spojrzeć okiem projektanta.

Większość obiektów posiada atrybuty odpowiedzialne za stan obiektu oraz operacje (metody), które tworzą interfejs.
Interfejs dzieli się na publiczny oraz prywatny. Część publiczna jest przeznaczona dla innych obiektów, które za jego pomocą komunikują się z nim. Część prywatna jest natomiast wewnętrzną sprawą każdego obiektu. Atrybuty też odpowiadają temu podziałowi. Są one o tyle wrażliwe, że jeśli obiekt korzysta dla swoich potrzeb z jakiejś zmiennej, to zazwyczaj polega na wartości, którą ona posiada. Pewność ta jest gwarantowana również tym, że nikt z zewnątrz nie zmieni wartości z np. true na false bez jego wiedzy, bo nie ma dostępu.

Ja zawsze wychodzę od założenia, ze każda zmiana atrybutu powinna być przeprowadzana poprzez interfejs obiektu, a jeśli takiego interfejsu nie ma, to znaczy, że tej zmiany nie powinienem dokonywać.

Pozdrawiam.
gadzio
@UP
Dziękuje za odpowiedź, ale jak ktoś z zewnątrz by mógł zmienić jakąs wartość?
Cysiaczek
Z zewnątrz oznacz po prostu inny kod, który używa tego obiektu.
itsme
z OOP przenosze tutaj
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.