![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 1.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
A wiec tak: klasa2 i klasa3 dziedziczą po klasie1. Obie zawierają pewne zmienne statyczne, klasa1 zaś zawiera metody operujące na tych zmiennych. Tyle ze to nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Jeszcze jedna rzecz jaka przychodzi mi do glowy to trzymanie tych zmiennych w klasie glownej w statycznej tablicy, gdzie kluczami beda nazwy klas. Chociaz to tez nie jest fajne rozwiazanie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 9 Dołączył: 6.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli klasa2 dziedziczy po klasa1 a klasa1 odwołuje się do tej zmiennej, to oczywiste, że nie będzie działać bo klasa1 nie ma pojęcia o istnieniu zmiennej statycznej klasy2. Cały problem polega na hermetyzacji klas.
Spróbuj użyć implementacji klas:
wtedy powinno działać |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 7 Dołączył: 25.12.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli klasa2 dziedziczy po klasa1 a klasa1 odwołuje się do tej zmiennej, to oczywiste, że nie będzie działać bo klasa1 nie ma pojęcia o istnieniu zmiennej statycznej klasy2. Cały problem polega na hermetyzacji klas. Spróbuj użyć implementacji klas:
wtedy powinno działać Mylisz tutaj dwa pojęcia: klasy abstrakcyjnej i interfejsu. Implementować można interfejs a nie klasę abstrakcyjną. @wirus15: Nie wiem po co w takim przypadku wykorzystujesz dziedziczenie, nadużywasz go. Dziedziczenie ma służyć stworzeniu hierarchi klas: od ogółu do szczegółu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 10:39 |