Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Dziedziczenie] - Dziecko nie implementujące interfejsu rodzica
Forum PHP.pl > Forum > PHP > Object-oriented programming
starach
Moja klasa konfiguracyjna, która stanowi bazę odczytu i zapisu implementuje interfejs Iterator.
W niektórych klasach dzeidziczących po niej chciałbym zablokować możliwość iteracji po elementach obiektu.
Jak coś takiego najprościej rozwiązać?
phpion
Chyba tylko poprzez nadpisanie metod iterujących nowymi (np. pustymi) metodami. Ja bym się jednak zastanowił czy taki problem nie jest wynikiem błędnego projektu.
starach
Może sam mi powiesz czy jest. tongue.gif

Abstrakcyjna klasa SDL_Config wczytuje konfigurację z pliku. Dane są przechowywane po identyfikatorze którym jest przetworzona ścieżka do pliku konfiguracyjnego. Składuję tam informacje takie jak data parsowania, rozmiar źródła, rozmiar keszu etc. Tworzę więc klasę Template_Cache_Data_Collection rozszerzającą SDL_Config której elementem jest jak łatwo się domyślić Template_Cache_Data z seterami i getterami.

Akurat to jest może trochę chybiony przykład wykorzystania, ale dajmy na to że chcę dostać się do danych szablonu przeparsowanego o którejś tam godzinie. Więc tutaj jest mi potrzebna iteracja.

Oprócz tego mechanizm iteracji jest mi też potrzebny przy zapisywaniu konfiguracji.
Element konfiguracji po zwróceniu zapisywany jest do kolekcji w formie obiektowej żeby przy ewentualnym kolejnym odwołania nie pakować go ponownie. Jednak przy zapisie potrzebuję zwykłej tablicy, a nie obiektu. W tym celu muszę wykonać iterację poprzez elementy konfiguracji i pozamieniać obiekty na tablice.

Jak masz jakiś lepszy pomysł na rozwiązanie tego to bardzo chętnie wy(czyt / słuch)am.
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.