Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOP] Dziedziczenie pól klasy
nu_moon
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Witam,

Mam taki oto problem. Mam klase główną, której konstruktor tworzy obiekty 3 innych klas czyli coś takiego:

  1. class Klasa_Glowna {
  2.  
  3.  
  4. public $obj1 = NULL;
  5. public $obj2 = NULL;
  6. public $obj3 = NULL;
  7.  
  8. public function __construct(){
  9.  
  10. $this->obj1 = new Klasa_1();
  11. $this->obj2 = new Klasa_2();
  12. $this->obj3 = new Klasa_2();
  13.  
  14. }
  15.  
  16.  
  17.  
  18. }
  19.  



I teraz pytanie, jak osiągnąć taki efekt, żeby pola obiektów stworzonych w klasie (Klasa_1 , 2 i 3 dziedziczą po klasie głównej). Były dostępne dla wszystkich pozostałych obiektów ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nu_moon
post
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 26.01.2006

Ostrzeżenie: (0%)
-----


Co chciałem uzyskać, chciałem w miare wygodny sposób w klasa_1, 2 i 3 mieć dostęp do wybranych pól i metod dowolnej z tych klas.

Najbliżej tego rozwiązania był #luq ale pozostają 2 pytania:
- jaka jest wydajność pod kątem prędkości i zajętości pamięci takiego rozwiązania.
- jeśli takich klas będzie kilkadziesiąt będzie to spory problem (na razie czysto teoretycznie ale zawsze jest to problem)


W frameworku Kohana widziałem coś podobnego, np helpery i klasa rejestru jest bardzo ładnie dostępna za pomocą metod i pól statycznych ale nie do końca udaje mi się taką funkcjonaność odtworzyć. Zastanawiam sie nad podobnym mechanizmem ale dla standardowych (nie statycznych) metod.

Co jeśli do pola statycznego klasy głównej przypiszę jakiś konkretny obiekt ? W jaki sposób odwołać się do takiej konstrukcji ?

EDIT: #luq, chyba to dokładnie to o co mi chodziło , dzieki. W każdym razie jeśli ktoś ma inne propozycje to w celach edukacyjnych chętnie przeczytam.

Ten post edytował nu_moon 26.09.2010, 19:11:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 04:07