reklama

Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - blizz

Stran: 1 ... 3 4 [5]
61
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 23. 01. 2011, 20:18:48 »
samozrejme že objekt zostáva rovnaký ale v rámci abstrakcie mení svoj vonkajší tvar (morfovanie - zmena formy) práve vy ste pôvodne tvrdili že objekt sa mení a stráca typovú informáciu, nie ja.

Citace
Kód: [Vybrat]
var list = new List<object>() { new Type1(), new Type2() };
Tady se žádný polymorfismus nepoužívá (skutečnost, že do seznamu je možné vložit instance tříd Type1 a Type2 je dána dědičností).

je to polymorfizmus. bezohľadu či nadtrieda obsahuje nejaké metódy (objekt môže kľudne morfovať aj na prázdne rozhranie). samozrejme že je to dané dedičnosťou objekt morfuje na svojho predka. ale nebaví ma s vami ďalej diskutovať pretože som vám vygooglil dostatok definícií polymorfizmu a vy si neustále opkaujete len tú svoju ktorú ste si vymysleli. oberá ma to o čas. Nemá zmysel diskutovať s niekym kto ostatných presviedča že čierna je v skutočnosti biela, že všetci sa mýlia len on má pravdu.

62
Vývoj / Re: pygame je pro lamy
« kdy: 22. 01. 2011, 19:53:25 »
Lenin doporucuje a radi

kdyz delat 2d hru tak zasadne v Jave ci JavaFX aby to bezelo na mobilech. Mobil je jedina platforma kde se da 2d hra dobre a snadno prodat ve velkem mnozstvi.

A co tak sa vysrat na predaj a robit open source pre potesenie?

z potešenia sa nenažereš.

63
Vývoj / Re: Výběr webové technologie
« kdy: 22. 01. 2011, 19:32:44 »
Vyber si technológiu aká sa ti najviac hodí na konkrétny typ projektu.

Ja osobne by som ako webový framework momentálne zvolil ASP.NET MVC, na prístup k databáze Entity Framework. Aplikáciu by som riešil ako WCF služby postavené na protokole SOAP. Na tvorbu administráčného rozhrania sa mi osvedčil RIA Silverlight + WCF, pretože ponúka podobbný komfort ako  desktopová aplikácia a oproti podobným RIA Frameworkom postaveným nad JS (ExtJS, Smartclient, ZKoss) je zadarmo.

A čo sa týka jazyka mne najviac vyhovuje C# ak máš rád funkcionálne programovanie tak vyskúšaj F#, Scalu, alebo Haskell. Ak máš rád python like syntax tak python prípadne jeho stitcky typovanú variantu Boo.

64
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 22. 01. 2011, 19:11:47 »
Citujem:

Citace
inkluzívny polymorfizmus: objekt môže patrit do viacerých typov, ktoré sú usporiadané podla inklúzie. Objekt podtriedy sa môže vyskytnút všade tam, kde sa vyžaduje objekt niektorej z jeho nadtried.

...
...
...
Stací? Najprv si doštudujte základy OOP.

Ono všetky tie definicie sú pravdepobne ekvivatelné a problém je s pochopením slova mnohotvátvost. Najviac sa mi páci definícia s inklúziou, i ked by ma neprekvapilo, keby pre vela ludí bola nezromitelná. Prosím, prv nez zacnete machrovat definiciami na jedno kopyto, najprv pochopte sémantiku písma a nie iba syntax. V tomto osobne skôr súhlasim s inkvizitorom, lebo pod zmenou tvaru fakt prestavím zmenu tvaru a nie ten istý tvar iba osekaný o nejaké veci (to je tá inklúzia). Ako najcistejši polymorfizmus mi prídu interfacy.

Omyl, interface neni polymorfizmus!, interface úzko súvisií s inkluzívnym polymorfizmom. Na to aby mohol objekt morfovat na nejaké rozhranie musí ho trieda ktorej je tento objekt inštanciou najprv implementovat.  (S polymorfizmom súvisia aj pojmy ako dynamické viazanie + virtuálne metódy vs. statické viazanie atď, ale to už je fakt offtopic.)

Tým rozhraním môže byt aj trieda object, o ktorej sme sa tu pôvodne bavili. Inkvizítor tvrdil že morfovanie typu Type1 na typ object neni polymorfizmus. A taktiež tvrdil že pri polymorfizme objekt stráca informáciou o type ktorého je inštanciou. V oboch prípadoch sa Inkvizítor mýlil. Aj inštanciu triedy Type1 ktorá morfovala na typ object môžem kedykoľvek opätovne pretypovať na typ Type1.

Kód: [Vybrat]
var a = new Type1();
object b = a;
var c = b as Type1;

b is Type1; //true

65
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 22. 01. 2011, 01:00:53 »
Polymorfismus je možnost používat stejný interface u objektů různých typů a nikoliv schopnost konkrétního objektu (instance) "měnit svůj tvar".

Citujem:

Citace
inkluzívny polymorfizmus: objekt môže patriť do viacerých typov, ktoré sú usporiadané podľa inklúzie. Objekt podtriedy sa môže vyskytnúť všade tam, kde sa vyžaduje objekt niektorej z jeho nadtried.

zdroj: http://neuron.tuke.sk/~zvada/statnice/I/07/index.html#polymorfizmus

Citace
Polymorfizmus (viacznačnosť) je schopnosť objektu nadobúdať viacero foriem. Najčastejšie použitie polymorfizmu je vtedy, keď v referencii na triedu rodiča používame odkaz na objekty triedy potomka.

zdroj: http://kiwiki.fmtnuni.sk/mediawiki/index.php/Java_-_polymorfizmus

Citace
Polymorfismus (lze česky označit jako mnohotvárnost) je způsob přístupu k instancím a je to nejvyšší stupeň OOP.
Odborně řečeno: polymorfismus spočívá v praxi například v tom, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy (třídy, která přímo či nepřímo z této třídy dědí), která se může chovat jinak, než by se chovala instance rodičovské třídy (ovšem v rámci mantinelů daných popisem rozhraní).

zdroj: http://programujte.com/?akce=clanek&cl=2007021001-kurz-delphi-ii-5-lekce

Stačí? Najprv si doštudujte základy OOP.

66
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 21. 01. 2011, 10:25:57 »
Proč pleteš dohromady polymorfismus a degradaci typové informace tlačením objektů do obecného pole? V Pythonu a spol. prakticky neexistuje záruka, že daný objekt má nějaký typ a rozhraní až do chvíle, kdy se na to při běhu zeptáme nebo to rohraní zkusíme použít. Ve statických jazycích to až na výjimky takto být nemusí. Vždyť sis sám odpověděl: programovať bez typovej bezpečnosti je ako súložiť s prostitútkou bez kondómu.

Veď práve toto je polymorfizmus (mnohotvárnosť, objekty vzhľadom na okolnosti, menia svoj tvar). Aká degradácia typovej informácie? Tá typová informácia tam samozrejme stále je:

Kód: [Vybrat]
var list = new List<object>() { new Type1(), new Type2() };
Kód: [Vybrat]
if (list[0] is Type1) MessageBox.Show("list[0] je inštancia triedy typu: Type1");
alebo

Kód: [Vybrat]
MessageBox.Show("list[0] je inštancia triedy typu: " + list[0].ToString());
ak teda neviete čo je polymorfizmus tak si prejdite základy OOP!

67
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 21. 01. 2011, 00:40:35 »
Sorry, blizzbossi, ale co jsi mi tím vyvrátil? Já jsem nikde netvrdil, že v Javě nelze udělat pole obecných objektů, jenom jsem řekl, že Python je dynamicky typovaný jazyk a tudíž v poli máš OBECNĚ to, co tam narveš (a bez garance, kterou zajišťují staticky typované jazyky). Jasně že si můžeš dát v Javě nohu za krk a programovat podobným způsobem, byť daleko méně elegantně. Pokud se pro to ale rozhodneš, s největší pravděpodobností jsi udělal něco špatně.

Prečo by malo byť "Špatne" využívanie výhod OOP a polymorfizmu? Veď to je ten najsprávnejší prístup. Aj staticky typované jazyky umožňujú programovať dynamicky napr c# obsahuje typ dynamic, object pascal typ variant atď ale v praxi sa využívajú veľmi málo pretože programovať bez typovej bezpečnosti je ako súložiť s prostitútkou bez kondómu.

68
Odkladiště / Re: Ignoracia
« kdy: 21. 01. 2011, 00:24:02 »
Navrhujem totalnu ignoraciu prispevkov michal-20. Ja zacinam okamzite, ostatni sa prosim bez diskusie pridajte :) Dakujem

Martin: Máš nejaký komplex? Možno by sme mali začať ignorovať teba.

69
Software / Re: Novell vs Microsoft
« kdy: 18. 01. 2011, 17:51:56 »
Už aby to bylo. Na tohle jsem čekal celé roky. Až microsoft pohltí linux, uvede ho konečně do chodu, aby to začalo fungoval pořádně. Snad se jednou konečně dočkáme toho, že programy budou po spuštění v linuxu normálně fungovat.

pokiaľ bude mať linux na trhu viac ako 5% tak nepochybujem o tom že ho MS začne podporovať. zatiaľ to ale nemá zmysel.

70
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 18. 01. 2011, 00:03:26 »
"V Pythonu se na žádné kolekce ala Java moc nehraje, prostě máš pole objektů nebo slovník a strč si tam, co chceš."

takto?:

object[] pole = { "retazec", 1999 };
var kolekcia = new List<object>() { "retazec", 1999 }
var slovnik = new Dictionary<object, object>()
{
   {"x", 2},
   {55, "werqwe"},
   {ff, 5.5},
   {5.5, -1}
};

"Ze staticky typovaných jazyků bych volil asi Scalu. Namísto Javy rozhodně."

typická otrepaná fráza.

71
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 17. 01. 2011, 19:40:22 »
Na začátek je docela dobry php, syntaxe je dost podobná Cčku, člověk nemusí řešit alokaci paměti a spoustu dalších věcí, navíc se jde v něm docela dobře naučit objektovy programování (ale nemám s tím moc zkušeností, OOP nemusím). Jediny co mě v php štvě jsou $ před každou proměnnou.

PHP umožňuje programovať objektovo ale neni to oo jazyk v pravom zmysle slova. A vôbec nevedie programátora k tomu aby myslel v objektoch.

72
Vývoj / Re: Porovnání C a Javy pro začátečníka
« kdy: 17. 01. 2011, 19:35:39 »
Z pohledu zacatecnika je tu jeste jedna dulezita otazka: kolik casu mi zabere v tom kterem jazyce udelat neco zajimaveho, co bude fungovat. Treba hru, jednoduchy editor textu atd. Pro zacatecnika je myslim dulezite, aby co nejrychleji dostal nejake vysledky, a mel tak motivaci pokracovat dal.

K tomu je asi nejlepsi PHP a Java.

PHP by sa začiatočník určite nemal učiť ako prvý jazyk, lebo získa zlé programátorské návyky.

73
Vývoj / Re: Jste zastánci OOP programování?
« kdy: 27. 11. 2010, 23:27:14 »
Nikto tu ako argument nezmienil hlavnú výhodu oo návrhu a to je udržovateľnosť kódu. Pri procedurálnom návrhu sa buduje architektúra systému na báze funkcií. Objektovo orientovaný návrh používa za základ modularizácie dáta (abstraktné dátové typy). Hlavným problém funkcionálnej dekompozície je zanedbanie kritéria modulárnej spojitosti. Prax ukazuje že funkcie sú menej stabilnou časťou systému a preto by nemali tvoriť základ architektúry.

Stran: 1 ... 3 4 [5]

reklama