Autor Zpráva
fopen
Profil *
Je možné rozšírovať viac tried naraz podobne ako pri implementácii?
príklad implementácie:
class StereoReceiver implements ElectricalDevice, FrequencyTuner{
  // define ElectricalDevice...
  // define FrequencyTuner...
}

príklad hypotetického rozšírenia:
class StereoReceiver extends ElectricalDevice, FrequencyTuner{
  // define ElectricalDevice...
  // define FrequencyTuner...
}
Alphard
Profil
V PHP ne.
fopen
Profil *
[#2] Alphard Vďaka, ale škoda, bola by to vychytávka...
TomášK
Profil
Řekl bych, že vícenásobná dědičnost měla natolik řídké *rozumné* využití, že v jazyce záměrně není. Používá se především tehdy, pokud jazyk nepodporuje rozhraní (interface), což není případ PHP. Ve škole nám tuším říkali, že pokud dojdem k tomu, že bychom chtěli využít vícenásobnou dědičnost, pak je návrh na 99% špatný. Narazíte třeba na Diamond problem
DoubleThink
Profil *
TomášK:
Používá se především tehdy, pokud jazyk nepodporuje rozhraní (interface), což není případ PHP
Takhle bych to nezobecnil. Interface je šablona pro zajištění jednotné implementace, dědičnosti se až tak nedotýká.

fopen:
škoda, bola by to vychytávka...
To jo, úplně to vidím před sebou - už tak bizarní objektový model s ještě bizarnější implementací dědičnosti.
TomášK
Profil
Ve škole nám říkali, že se vícenásobná dědičnost používá v kombinaci s abstraktními třídami k dosažení téhož, co v jiných jazycích zajišťuje právě rozhraní, jinak mnoho využití nemá. Nicméně tu mé znalosti končí, je možné, že jde o přílišné zobecnění.
AM_
Profil
DoubleThink:
Takhle bych to nezobecnil. Interface je šablona pro zajištění jednotné implementace, dědičnosti se až tak nedotýká.
právě - ale pokud jazyk interface nepodporuje, tak se dá abstraktní třídou nahradit.
fopen
Profil *
[#5] DoubleThink Píšem rozšírenie pre PHPMailer ,ale chcem aby bola v tom rozšíreni zahrnutá aj moja zakladna trieda - bizardne mi pride dopisovat do PHPMailer-a require('class.mojazakladnatrieda.php') a extends MojaZakladnaTrieda , v prípade ak by fungovalo viacnásobne rozšírenie nemusel by som do PHPMailera dopisova nic - to je cela sranda
Jan Tvrdík
Profil
fopen:
Použij skládání (třída má instanci jiné třídy v sobě uloženou jako atribut).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: