Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [oop] wywolanie jednej klasy z poziomu drugiej
poligon81
post
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

  1. <?php
  2. require_once 'classA.php';
  3. $instancja_klasy_a = new a;
  4.  
  5. require_once 'classB.php';
  6.  
  7.  
  8. require_once 'classC.php';
  9.  
  10. itd...
  11. ?>



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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
KapiX
post
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 4.12.2007

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


Cytat(poligon81 @ 17.04.2008, 23:58:46 ) *
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ę).
Go to the top of the page
+Quote Post
sniezny_wilk
post
Post #3





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(KapiX @ 17.04.2008, 22:04:58 ) *
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ę).


hmm.. a nie tak ?:

  1. <?php
  2. class A {
  3.  protected $jakiesPole;
  4.  
  5. public function jakasMetoda() {
  6. return $jakiesPole;
  7.  }
  8. }
  9.  
  10. class B extends A {
  11.  $zmienna = parent::jakasMetoda();
  12. }
  13. ?>


Ten post edytował sniezny_wilk 17.04.2008, 23:21:21
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: 5.10.2025 - 17:26