GNOME nebo KDE ?

Lubos Lunak l.lunak na sh.cvut.cz
Čtvrtek Listopad 23 11:02:00 CET 2000


Petr Tomasek tomasek na etf.cuni.cz on 22 Nov 2000 22:55:49 +0100 wrote:

> 
> Muzu se zde zarytych c++-karu zeptat  na jednu vec? V
> dokumentaci ke Gtk+ se tvrdi, ze _je_ OO, ze se jenom
> pouziva jakysi objektovy model, ktery neni na urovni jazyka
> (jako c++, nebo objc), ale na  aplikacni urovni (sorri, ale
> nejsem vzdelan v terorii programovani, tak doufam, ze
> neplacam nesmyslny termity, gdyztak si to preberte).

 Nejlepe se to asi ukaze na rekneme BASICu a proceduralnim stylu 
programovani. Myslen je takovy ten "puvodni" BASIC rekneme ze Sinclairu 
nebo tak nejaky, ktery samozrejme zadne procedury/funkce nema, a presto se 
v nem da programovat proceduralne ( stejne by se jako priklad dal pouzit i 
napr. assembler ). No a zatimco v C/C++, Pascalu atd. se normalne pisi 
funkce, volaji se, predavaji se jim parametry atd., v BASICu to samozrejme 
takhle jednoduse nejde. Jde to ale udelat rucne. Rozdeleni na funkce se 
udela stavbou programu plus se rekneme na zacatek kazde funkce da extra 
radek s REM, pro predavani parametru a navratove hodnoty se vymysli nejaky 
sikovny hack pres globalni promenne, navic aby to fungovalo i pri vnorenem 
volani nebo rekurzi, a hura, v BASICu se da programovat proceduralne. 
Navic, da se v nem programovat i objektove, staci, kdyz se jeste navic 
pridaji dalsi finty podobne tem, kterymi se da v C programovat objektove.
 Gtk+ OO rekneme je, ale stejne jako BASIC rekneme je i proceduralni, musi 
se ta objektovost udelat v Gtk+ rucne. Dedicnost se fixluje vlozenim predka 
jako prvniho prvku do struktury potomka, pristupova prava jsou metodou 
"ohlidej se sam", virtualni metody tusim Gtk+ fixluje pres pointery, 
"automaticke" pretypovani na predka je rucne pomoci maker. Staci se podivat 
do dokumentace Gtk+ na vysvetleni jejich objektoveho modelu. Zkratka 
vsechno, co C++ umi samo od sebe, se tu musi udelat rucne.

> 
> No, jenom me neyde do  hlavy, ze furt osocujete Gtk+, ze
> neni objektove...
> 
> PT>
> 
> 
> --
> Petr Tomasek, http://www.etf.cuni.cz/~tomasek/

 Lubos Lunak
 l.lunak na email.cz http://dforce.sh.cvut.cz/~seli



Další informace o konferenci Linux