Predavanie "sprav" v smalltalku je tiez len posielanie objektov do inych objetov cez selectory. Inac povedane volanie metod s parametrami. Nie je to ziadna objektova magia. Je to to iste co napriklad aj v C++ .
Ty to schytáš Ale tak když už tomu nerozumíš, je lepší mlčet (univerzální pravidlo)... #doesNotUnderstand ;-)
Čekal jsem, kdo na tu krávovinu zareaguje
Ok, berem spat, v smalltalku sa selectory, ekvivalenty metod nepouzivaju. Ani objekty sa nepredavaju cez selectory ako "spravy". Ono v tom smalltalku proste je to cele magicke a objekty sa rozpravaju recou starych kuzelnikov.
Ty si nedáš říci .. no tak mi naprogramuj následující tři prográmky (ve smalltalku téměř one-linery) v C++:
1) Zeptej se uživatele na string, a pošli objektu Foo zprávu (nebo v C++ terminologii zavolej na objektu Foo metodu), která se jmenuje stejně jako zadaný String. Vypiš uživateli výsledek volání, pokud Foo danou metodu nemá, vypiš uživateli, že to neumí..
2) Za běhu zjisti, jaké zprávy Foo umí přijímat
3) Stejně jako 1, ale pokud Foo zprávu neumí, za běhu přidej implementaci, která vrátí String "Jsem tu nová", a opakuj volání zprávy na Foo
4) (to už se netýká zpráv, ale jen tak pro zajímavost): Za běhu zjisti, jaké třídy je Foo instance, a jaké další podtřídy tato třída má.
Pod řešení mi můžeš napsat, že zprávy v C++ a ve Smalltalku jsou to same.