![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Mam jak dotąd dość podstawowe pojęcie o programowaniu obiektowym w PHP, ale staram się go nauczyc efektywnie wykorzystywać, co mam nadzieję, zaprocentuje w przyszłości... Piszę właśnie stosunkowo prostą aplikację ale nie wiem jak rozwiązać jedną kwestię koncepcyjną mam taki oto plik index.php
I teraz, chciałbym zeby w jakis sposob metody i pola z $instancja_klasy_a były dostępne w obrębie innych klas. Pytanie teraz czy jest jakas możliwośćbo zrobic cos takiego ? Czy jesli klasy B, C itp bedą dziedziczyć po klasie A, metody i pola z $instancja_klasy_a będą dostępne z poziomu innych klas? Oczywiscie moge tworzyć instancje klasy A w konstruktorze albo w metodach klasy B i C ale chciałbym tego uniknąć gdyż klasa A jest dość mocno obciążającą serwer i chciałbym uniknąć wielokrotnego przetwarzania tych samych danych... Z góry dzięki za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 4.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
I tak tez zrobiłem ale nie mogę się odwołać do pol instancji klasy a z poziomu metod klasy B. Czy dziedziczenie cos tu zmieni ? Ew. prosiłbym o przykład takiego odwołania bo jakoś nie do konca wiem jak to mozna zrobic Nie wiem dokładnie, ale powinno (OOP znam tylko z C++ ;P). Wyglądało by to tak: Kod class A { protected $jakiesPole; } class B extends A { function jakasMetoda() { $innePole = $jakiesPole; } } Nie jestem pewny, czy będzie działać (z pamięci piszę). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem dokładnie, ale powinno (OOP znam tylko z C++ ;P). Wyglądało by to tak: Kod class A { protected $jakiesPole; } class B extends A { function jakasMetoda() { $innePole = $jakiesPole; } } Nie jestem pewny, czy będzie działać (z pamięci piszę). Hm... wydaje mi sie ze to nie bedzie działać. Odwołanie bezpośrednio do pola klasy A raczej jest nie mozliwe, bo mozliwe jest wystąpienie kilku instancji klasy A wiec nie za bardzo wtedy byłoby wiadomo gdzie sie odwoływać.... Ustawiłem klase B jako dziedziczną po A. Wywołuję instancję klasy A i B, a w klasie b w jednej z metod odwołuję sie do metody klasy a (która miała by mi zwracac zmienna / tablice ) poprzez $inst_klasy_a -> get (); jednak dostaję komunikat: Undefined variable: inst_klasy_a Fatal error: Call to a member function get() on a non-object... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 00:06 |