![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
acztery - zrób tak jak mówi KG- czyli użyj konstruktora i po sprawie.
Zmień też zmienne wewnątrz klasy na private bo zmienne public w klasie aż w oczy rażą (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) Ideą stojącą za OOP jest ograniczanie dostępu do wszystkiego co się da, tak aby móc jak najmniej zapsuć. //oczywiscie jest to uproszczony opis Klasa ma mieć swoje API, za pomocą którego możesz nią manipublować. Teraz to sobie możesz zrobić małe kuku taki jak np:
Jeśli klasa wymaga dostępu do zmiennej to zrób metody dostępowe, które będą kontrolowały aby przypadkiem nie przypisać do zmiennej typu int stringa czy czegokolwiek niezgodnego z twoją wizją. Dobrze że rezygnujesz z superglobali/globali itd. W OOP nie powinieneś tego stosować - obiekt ma dostać pewne parametry, przetworzyć je i coś zwrócić. Pamatetry muszą być przekazywane jawnie do obiektu, tak aby niezależnie od otoczenia w którym się znajdzie zawsze zwrócił to samo. Jeśli obiekt jest zależny od jakiejś zmiennej typu global to ten warunek nie jest spełniony. Wiadomo, że czasem oznacza to więcej pisania - można się zastanawiać po co tworzyć kopię zmiennej w obiekcie, gdy mamy ją już w skrypcie zdefiniowaną - ale tu chodzi o bezpieczeństwo - za pół roku coś tam będziesz zmieniał i usuniesz/zmienisz nazwę tej zmiennej, a to spowoduje konsekwencje, których nie można przewidzieć. Lepiej napisać trochę więcej, ale zaoszędzić czas przy poprawkach i zmianach. Ten post edytował athabus 5.08.2006, 12:26:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 23:26 |