Załóżmy, że jest klasa fabryki o nazwie Test. I ta fabryka może produkować obiekty o klasie dziedziczącej(1.), albo o klasie pierwotnej z DI(2.):
1.
Kod
class PukProduct extends Factory{
function __toString() {
return $this->puk . "<br>\n";
}
}
function __toString() {
return $this->puk . "<br>\n";
}
}
2.
Kod
class PinProduct {
private $pin;
function __construct($pin) {
$this->pin = $pin;
}
function __toString() {
return $this->pin . "<br>\n";
}
}
private $pin;
function __construct($pin) {
$this->pin = $pin;
}
function __toString() {
return $this->pin . "<br>\n";
}
}
Ostatnio coś rozkminiałem i stanąłem przed tym dylematem. W przypadku dziedziczenia (1.) każdy wyprodukowany obiekt powstaje z klasy poszerzonej o klasę źródłową. Jeżeli ta klasa źródłowa jest, załóżmy, wielka to czy taki wyprodukowany obiekt jest tym samym większy od takiego, który powstaje na bazie klasy niedziedziczącej (2.)?
Jeśli jest przez to wielki i występuje wielokrotnie to chyba zajmuje pamięć? Jeśli tak, to nie lepiej stosować samo DI bez dziedziczenia(2.)?
Z góry dziękuję
edit: Poprawiłem tytuł, dostęp "do danych", a nie "di danych"