misiek172
21.03.2007, 11:47:32
Witam.
Normalne dziedziczenie wygląda tak:
class xxx estends bbb
{
}
a moje pytanie brzmy czy można dołączyć klase do dziedziczenia w środku klasy czyli
class xxx
{
i tu w kodzie gdzieś dziedziczyć klase... da się tak?
}
Z góry dziękuje i pozdrawiam, Łukasz.
Nie. A co chcesz osiągnąć przez to?
misiek172
21.03.2007, 19:14:44
bo chcę napisać kontroler, który w zależności od wysłanego polecenia do niego za pomocą AJAXa bedzie ładował odpowienią klase.
splatch
21.03.2007, 19:32:09
AbstractFactory +
Strategy ewentualnie zamiast tych 2 jeden -
Factory Method
dr_bonzo
21.03.2007, 20:13:44
Jak wyzej, nie musisz dziedziczyc, tylko utworzyc obiekt klasy na podstawie wartosci zmiennej, w skrocie:
http://..../?akcja=newsy
<?php
$kontroler = new $akcja;
$kontroler->uruchom();
?>
itp.
misiek172
22.03.2007, 11:41:26
jeśli chodzi o Factory Method i te inne nie zabardz rozumiem o co chodzi.
Można utworzyć obiekt klasy w klasie?? Czy można includować klase do klasy i utworzyć w niej obiekt?
Łukasz O.
22.03.2007, 14:18:45
<?php
class A extends B{
public function getMethodFromA(){
return 'metoda z klasy A<br/>';
}
}
class B{
public function getA(){
return new A;
}
public function getMethodFromB(){
return 'metoda z klasy B<br/>';
}
}
$d=new B;
print $d->getA()->getMethodFromA(); print $d->getA()->getMethodFromB(); ?>
w ten sposób możesz zwrócić obiekt, który zawiera wszystkie metody obu klas - ale to nie jest to o czym Ty na początku myślałeś - to takie lekkie obejście "na około"
misiek172
22.03.2007, 18:09:08
ok tylko ze ja mam reszte klas w innych plikach :/
mike
22.03.2007, 18:19:27
No i?
O include() i innych takich słyszał ?
misiek172
22.03.2007, 18:23:57
mike_mech nie o to chodzi nieważne
Fipaj
24.03.2007, 21:18:08
Ważne.

Ponieważ pewnie będziesz je includował, polecam zapoznanie się z __autoload(). To tak na czuja, żeby ci kodowanie ułatwić.
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.