Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
PHP v objetí objektů (3)

Ondrej Novy
Ondrej Novy (neregistrovaný)
31. 7. 2001 8:58 Nový

dotaz nejen k polymorfismu

celé vlákno

Ma nekdo predstavu, k cemu mi je polyformismus, kdyz se v PHP nedela typova kontrola promennych? Tj. je totez napsat:

class aaa {
  function out() {
    echo "aa";
  }
}
class bbb extends aaa {
  function out() {
    echo "bbb";
  }
}

------------- a --------------------

class aaa {
  function out() {
    echo "aa";
  }
}
class bbb {
  function out() {
    echo "bbb";
  }
}
------------------------
stejne pak muzu prirazovat vesele:
$x = new aaa();
$x->out();
$x = new bbb();
$x->out();

v cecku to ma logiku, protoze bych musel napsat:
aaa x;

x = new bbb();
x->out();

a tim by priklad cislo 2 nesel. V PHP to ale nechapu. Zvlast kdyz jde napsat treba:
$y = "aaa";
$x = new $y();

a to zdaleka neni extremni pripad, jdou i horsi!
Ja osobne v dedeni v PHP vidim jenom usetreni prace s copy-paste. Ale treba kdyz chci zdedit metodu ale pridat ji neco MEZI stavajici kod, tak stejne musim copy-paste :(

mimochodem, prisel nekdo na to, jak volat callback funkci z metody nejake tridy (i kdyz uznavam, jde o krok mimo z objektoveho modelu. ale jse mi o neco jako jsou volani udalosti v C#.). moje pokusy nejak zklamaly :(

btw nedela nekdo na nejake zastresujici knihovne? Neco jako MFC pro HTML? Vypada to docela blede, podle poctu prispevku pod clankem a podle dotazu na builder.cz (jinak tez :lamerzone:) :((((

Mikin
Mikin (neregistrovaný)
31. 7. 2001 20:59 Nový

Re: dotaz nejen k polymorfismu

celé vlákno

Pokud vim, tak kdyz se chce neco pridat MEZI stavajici kod metody i treba v C++, tak to taky nejde. Neni to chyba ale logika programovani. Resi se to pokud vim tim, ze se kriticka cast kodu vlozi do zvlastni metody, ktera se pak prekryva

Ondrej Novy
Ondrej Novy (neregistrovaný)
1. 8. 2001 9:17 Nový

Re: kod mezi stavajici kod metody a .NET

celé vlákno

jasne - to si uvedomuju...

jenom se mi nejak nedari nejak objektove zapouzdrit html tak, abych nepotreboval copy-paste.

tohle:

class xxxx {
function aa() {
echo "aaa";
OnAAA();
echo "bbb";
}
function OnAAA() {
}
}

proste nekdy nestaci. v prvnim potomkovi udelam OnAAA ale v dalsim potomkovi potrebuju vlozit zase nejakej kus kodu nekam mezi.... V C++ takovy problemy zdaleka nemam, vzdycky to nejak vymyslim, ze to nepotrebuju. To HTML je tezce neuchopitelny. Asi skoncim s vymyslenim objektove knihovny u pujdu do ASP.NET. Videli jste ukazku treba na www.gotdotnet.com??? V IE i treba v Mozille?? Stejny zdrojak jiny vystup, mix FORMu a JavaScriptu! Kdo neco podobnyho napise pro PHP? hledam dobrovolnika :) Jinak je PHP v pytli. v .NET se da udelat UDRZOVATELNA aplikace. S tim mam v PHP nekdy dost problemy..

Jirka Kosek
Jirka Kosek (neregistrovaný)
1. 8. 2001 22:21 Nový

Re: kod mezi stavajici kod metody a .NET

celé vlákno

V jednodušší podobě něco podobného umí modul ooh_forms z PHPLIB. Z definic formulářových polí umí sám vygenerovat validátor pro server i pro klienta (v JavaScriptu).

Přehlednost a udržovatelnost kódu nijak zvlášť nesouvisí s nástrojem, spíš s tím, jak je člověk na sebe přísný a jestli dovede konzistentně udržovat určitá jednotná pravidla.

M. Sotolar
M. Sotolar (neregistrovaný)
1. 8. 2001 14:11 Nový

Formatovani Clanku vs. Tisk

celé vlákno

Pri meneni pozadi tabulek ve clanku (konkretne cerne pozadi) specifikujte prosim tez barvu textu v tabulce, i kdyz na defaultni "webove" verzi se pouziva defaultni, pokud si chci clanek vytisknout, musim to preformatovat, protoze v tiskove verzi clanku je jako defaultni barva textu cerna.

thx :-)

nobody
nobody (neregistrovaný)
2. 8. 2001 9:30 Nový

len test

celé vlákno
nobody
nobody (neregistrovaný)
2. 8. 2001 9:32 Nový

zasa test

celé vlákno
Vena
Vena (neregistrovaný)
4. 8. 2001 10:42 Nový

formatuj pro tisk....

celé vlákno

Zkuste si tento clanek "zformatovat pro tisk"... :-((

Eddie
Eddie (neregistrovaný)
21. 2. 2007 13:05 Nový

Viacnasobne dedenie

celé vlákno
Ako na viacnasobne dedenie metod tried. Priklad: mam triedy A B C D. Chcem aby trieda A zdedila vlastnosti tried B C a D ale nechcem to zapisovat ako A extends B, B extends C...

Podla clanku na zive.sk sa to da urobit pomocou interface-ov ale nepisu ako... Vie to niekto spravit?
ATom
ATom (neregistrovaný)
14. 9. 2007 6:51 Nový

přetypování

celé vlákno
Myslím, že místo Menu::zobraz(); by bylo daleko lepší použít parent::zobraz()
Zasílat nově přidané příspěvky e-mailem