10.07.2015 Views

2× DVD - Vitajte na stránkach www.einsty.hostujem.sk

2× DVD - Vitajte na stránkach www.einsty.hostujem.sk

2× DVD - Vitajte na stránkach www.einsty.hostujem.sk

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

I N F O W A R Ementova deštruktor pre kadú triedu. Ak vásobèas prepadnú takéto myšlienky, ale pritom savám C alebo C++ páèia, <strong>sk</strong>úste C#.C# je vytvorený <strong>na</strong>d .NET Framework. Medzihlavné ciele tvorby nového jazyka patrila zaruèenejednoduchos. V C# sú všetky operátory sprístupneniaèlenov triedy a pointerov reprezentovanébodkou. Unicode character nie je viacwchar_t, ale char; 64-bitový integer je long, nie__int64. C# po<strong>sk</strong>ytuje typ bool s hodnotamitrue alebo false. V zoz<strong>na</strong>me dátových typovpodporovaných C# nájdete aj v SQL èastopouívané typy decimal a string. Je jasné, e zajednoduchos v C# zaplatíte miernym zhoršenímvýkonu, zí<strong>sk</strong>ate však zabezpeèenie typova automatické upratovanie pamäte. C# tak tvorístabilnejšie a <strong>na</strong>koniec aj produktívnejšie programy.C# unifikuje typový systém tak, e vámumoní vidie kadý typ ako objekt. Objekty sú<strong>sk</strong>ombinované do <strong>na</strong>mespacespre jednoduchší prístup. Akvytvoríte komplexný komponent,môete ho da do vlastného<strong>na</strong>mespace a zverejòovanémetódy deklarujete ako public.Ak vytvoríte triedy s rov<strong>na</strong>kýmmenom vo viacerých <strong>na</strong>mespaces,C# vám umoní <strong>na</strong>definovapre ne aliasy. C aC++ aj <strong>na</strong>priek neustálemuvývoju obsahujú historicképrvky, ktorých dodriavanie jepri programovaní u<strong>na</strong>vujúce.C# prichádza so zabezpeèenímtypov (type safety) <strong>na</strong> zaisteniestability aplikácie a zároveò <strong>na</strong>zvýšenie èitate¾nosti kódu.Oproti C++ má C# bohatšímodel <strong>na</strong> spracovanie chýb.Obsahuje podporu pre spracovanievýnimiek cez štruktúry príkazov throw,try…catch a try…fi<strong>na</strong>lly. Debugovací proces jeobohatený o podmienkové k¾úèové slovo <strong>na</strong> kontrolubehu programu [conditio<strong>na</strong>l("DEBUG")].Keïe C# vychádza z C++, implementuje,samozrejme, štandardné objektové programovanie.V sharpe môete vytvára static èlenov tried,èím zjednodušujete èitate¾nos kódu a zniujetenáchylnos ku konfliktom v názvosloví. Èlenoviatriedy v C# môu by definovaní ako private,protected, public alebo inter<strong>na</strong>l. Metódy a operáciesa dajú v C# preai jednoduchšou syntaxouako v C++. Pre COM+ programátorov jedôleitá informácia, e komponentový modelCOM+ podporuje v C# k¾úèové slovo delegates,èo je objektovo orientovaný ekvivalent pointerov<strong>na</strong> funkcie v C++.C# automaticky neinicializuje lokálne premenné,kompilátor vás však upozorní <strong>na</strong>pouitie premennej pred jej inicializáciou. Keï sisprístupníte pole, automaticky sa <strong>sk</strong>ontrolujejeho rozsah. Na rozdiel od C a C++ nemôeteprepísa nealokovanú pamä a nemôete vytvorineplatnú referenciu. Garbage collection v C#zaistí, aby ste v kóde nenechali nepouívanézablúdené odkazy. Do vlastností jazyka patrí ajkontrola „preteèenia“ typov.Obr. 2 Nastavenie atribútového programovania pre projekt v C++Najväèší rozdiel oproti C++ nájdete v spracovanípolí. Polia v C# patria medzi CLR spravovanétypy, èo z<strong>na</strong>mená, e udriavajú referencie,nie hodnoty a aj <strong>na</strong> ne platí garbage collection.Dajú sa deklarova s rôznymi rozmermi vrátanemultidimenzionálnych polí a aj ako polia polí.Keïe polia sú objekty, sú tak aj spracúvané. Ichzákladom je trieda System.Array, take s nimipracujete ako s collection objektom (<strong>na</strong>pr. <strong>na</strong> zisteniedåky po¾a môete poui vlastnosLength).V práci s C# sa môete stretnú aj s pojmamiboxing a unboxing. Ich výz<strong>na</strong>m spoèíva v tom,e v C# je moné priradi hodnotový typ objektovémutypu (boxing) a spätne potom môete„zaškatu¾kovaný“ hodnotový typ z objektovéhotypu aj zí<strong>sk</strong>a (unboxing).Väèšie projekty v C++ trpia èasto pouívanímnekompatibilných hlavièkových súborov. C# pouitieheader files zamieòa kombináciou deklaráciía definícií typov. Ak vytvárate ve¾ký projektv C#, môete ho rozbi <strong>na</strong> menšie zdrojové súbory.Pri kompilácii projektu sa zdrojové súboryspoja a <strong>sk</strong>ompilujú sa do jedného ve¾kého súboru.Vïaka tomu sa nemusíte stara o to, ktoré hlavièkypatria do ktorého zdrojového súboru.C# je dizajnovaný <strong>na</strong> u¾ahèenie správy verziítried udriavaním binárnej kompatibility s existujúcimiodvodenými triedami. Keï <strong>na</strong>pr. vloítedo bázovej triedy novú metódu, prièom taká uexistuje v odvodenej triede, nespôsobí to chybu.Musíte však urèi, èi je metóda chápaná ako„preaená“ alebo nová, keï sa <strong>sk</strong>ryje metódazdedená z bázovej triedy.S oh¾adom <strong>na</strong> poadovanú kompatibilitu C#s inými, u existujúcimi rozhraniami podporujeC# rozhrania <strong>na</strong> staré C-èkové programy,N/Direct COM+ <strong>na</strong> volanie C-èkových API, rozhraniek štandardným COM a OLE AutomationAPI, dátové typy cez COM+ runtime a komponentyCLR. C# vytvára spravované, typovozabezpeèené programy. Niektoré reálne aplikáciepotrebujú niekedy aj èas kódu <strong>na</strong> <strong>na</strong>tívnejúrovni (z dôvodu výkonnosti alebo <strong>na</strong> pouitiestarých API z iných programov). C# umoòujedeklarova aj nezabezpeèené triedy a metódyz <strong>na</strong>tívnych volaní.ZLEPŠENIA C++Domi<strong>na</strong>ntné zlepšenia C++ prinášajú spravovanérozšírenia jazyka, atribútové programovaniea ATL Server.Spravované rozšírenia C++ pomôu vývojáromv Microsoft Visual C++ písa aplikácie preplatformu Microsoft .NET. S ich pomocou jemoné zavola triedu C++ z ¾ubovo¾ného .NETjazyka. Pouitím spomí<strong>na</strong>ných rozšírení treba<strong>na</strong>písa jednoduchú triedu (tzv. wrapper), ktorázverejní vašu triedu C++ a jej metódy ako spravovanútriedu. Trieda wrappera je mapovacouvrstvou medzi spravovanou triedou a nespravovanoutriedou C++. Najèastejšie sa pouíva <strong>na</strong>volanie <strong>na</strong>tívnych DLL.Atribútové programovanie je zdoko<strong>na</strong>lenímC++, ktoré redukuje mnostvo programátor<strong>sk</strong>éhokódu. Prínosom tejto technológie jehlavne záme<strong>na</strong> ve¾kej èasti kódu nieko¾kýmijednoduchými deklaráciami. Atribúty je monévklada do projektov manuálnealebo pouitím „wizarda“(obr. 2).(Atribútové programovaniesom si <strong>sk</strong>úsil <strong>na</strong> jednoduchompríklade pozostávajúcom zo131 riadkov kódu. Po pouitíatribútov sa kód zjednodušil <strong>na</strong>42 riadkov.)Visual Studio .NET obsahujeaplikáciu pre programátorovC++ <strong>na</strong>zvanú ATL Server,ktorá zjednodušuje vývoj výkonnýcha škálovate¾ných webovýchaplikácií. ATL Server ponúkasúbor tried rozširujúciActive Template Library (ATL)<strong>na</strong> sprístupòovanie funkcio<strong>na</strong>lityIIS cez ISAPI. Triedy ATL Serveraumoòujú programátorom¾ahšie spracúva také aspektyservera, ako sú caching, thread-pooling a sessionstate. K¾úèovou èasou architektúry ATL Serveraje dizajn spracúvania poiadaviek cez XMLwebovú slubu. ATL Server ISAPI DLL pracujeako rozšírenie IIS, ktoré umoní, aby sa URLadresy so súbormi .srf spracúvali v ISAPI DLL.ISAPI DLL je registrovaná v IIS ako pred<strong>na</strong>stavenýspracúvaè súborov .srf. (SRF súbory sú vo formáterozšíreného HTML a definujú, ako budedy<strong>na</strong>mický obsah generovaný cez ATL Serverpouitý aplikaènou DLL.)Visual Studio .NET odráa poiadavky vývojárovvo Visual Basicu <strong>na</strong> výkonnejšie programovaciekonštrukcie jazyka, poiadavky vývojárovv C++ <strong>na</strong> doplnenie vlastností RAD do IDE, ktorévyvrcholili jazykom C#. NET IDE je schopnézvýši produktivitu tvorby aplikácií pre .NETFramework. Visual Studio .NET BETA 2 by maloprejs u len testami <strong>na</strong> stabilitu a po akceptovanínových poiadaviek beta testerov by malo byk dispozícii vývojár<strong>sk</strong>ej komunite. Dôkazom toho,e Visual Studio .NET by malo by domov<strong>sk</strong>ýmprístavom všetkých vývojárov pre Windows, je ajv októbri ohlásená beta verzia jazyka J#, pokraèovate¾aJ++ pre prostredie MS .NET.Miroslav Kubovèík1/2002 PC REVUE 89

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!