Programování VISUAL BASIC KGI / PROG 1. ročník LS
1. Zdroje a literatura www stránky předmětu na počítač Atlantida\Vyuka\I - PROG přednášky předmětu KGI / PROG Moodle klíčové slovo: visualbasic nutné se přihlásit a vyplnit Vstupní test odevzdávárna pro 2 semestrální úlohy
Cvičení Úterý 13:15 – 14:45 Úterý 15:00 – 16:30 Seminář: 1hod. / týden = blok pro semestrální úlohy - nerozvrhováno
Historie programovacích jazyků strojový jazyk - assembler– pro procesor vyšší programovací jazyky : Fortran, Pascal (procedurální jazyk) C+,(C++, C#), Visual Basic Perl, Java, Python, PHP
Visual Basic v.6 výrobce fa Microsoft Visual Basic 2008 – Express Edition (zdarma) V.6 - verze Learning (Professional, Enterprise) podporuje mechanismy OLE (Object Linking and Embeding) nástroje pro objekty a používání databází VBA – VB for applivation (MS Office, ArcGIS) proč Visual? – návrh grafického rozhraní (ale psaní kódu nutné ručně)
Základní pojmy objekt, vlastnost, metoda, událost VB pracuje s objekty OBJEKT – simulace části reálného světa, která je dána vlastnostmi, metodami, událostmi vlastnosti charakterizují objekt metoda je určitá „schopnost“, „způsob chování“, akce objektu v programování je metoda určitý program událost – definuje interakci s uživatelem, jiným objektem, systémem
Balónek - objekt vlastnosti: barva, rozměr, stav (nafouknutý, splasklý), stáří (neviditelné) metody: nafukování, vypouštění událost : propíchnutí (špendlíkem) na událost objekt reaguje: 1.protržení 2.rána 3.splasknutí (metoda vypuštění) – změna vlastnosti - rozměru
Třída objektu, instance Třída objetu je obecná definice objektu, jeho vlastností, metod a událostí. Třída objektu je vzorem (šablonou) pro vytváření instancí objektu. Instance je konkrétní výskyt objektu. Vlastnosti nabývají konkrétních hodnot. příklady tříd objektů: auto, student, vrstevnice, pohoří, parcela, mapa, dialogové okno příklad instance: student Jan Březina, parcela 115/2 Instance objektu musí být jednoznačně identifikovatelná!!!
Událost Běh programu je aktivován událostmi. Událost může být vyvolána uživatelem (klik), nebo systémem (ukončení ArcMap uzavření projektu mxd, ukončení OS WXP ukončení rezidentního antivirového prg.) Metoda nastane jako obsloužení události. Události a metody specifické pro daný objekt (píchnutí špendlíkem do židličky – není událost definovaná na objektu židlička, židlička nereaguje, nevolá metodu pro obsluhu události; na tlačítku Start není definováno poklepání jako událost, nezavolá se metoda pro obsluhu události) metoda – zobrazení formuláře po stisku tlačítka
Objekt Vlastnosti … Metody (operace) … Objekt vlastnosti metody
Principy objektově orientovaného programování OOP 1.opakovatelnost použití objektu – nekonečně mnoho instancí objetu - reduplication 2.identita objektu – identity 3.dědičnost – inheritance 4.rozšiřitelnost - extensibility 5.polymofismus – polymorphism 6.zapouzdření – encapsulation
1. Opakovatelnost použití objektu nekonečně mnoho instancí objetu řada dialogových oken
2. Identita objektu - identity jednoznačně určen je nutné odlišit dva objekty ze stejné třídy i z různých tříd objektů např.: jménem - alfanumerické znaky vlastnost: name
3. Dědičnost – inheritance jedna třída odvozena od jiné třídy objektů a dědí vlastnosti a metody nadřazené třídy Příklad: třída dopravní prostředek vlastnosti: počet přepravovaných osob, maximální rychlost nová třída: loď, automobil, letadlo, bicykl – odvozené od třídy dopravní prostředek
3. Dědičnost – inheritance dopravní prostředek loď bicyklauto letadlo
3. Dědičnost – inheritance dopravní prostředek ID počet přepravovaných osob maximální rychlost rozjezd jízda … auto ID počet přepravovaných osob maximální rychlost rozjezd jízda … Loď ID počet přepravovaných osob maximální rychlost rozjezd jízda … Bicykl ID počet přeprav. osob max. rychlost rozjezd jízda …
4. Rozšiřitelnost - extensibility definice třídy lze doplňovat o nové vlastnosti, metody nová vlastnost: počet kol, počet válců, počet pedálů Přidat do třídy nové vlastnosti a metody do třídy dopravní prostředek? Loď nemá kola. Bicykl nemá válce. Loď ID počet přeprav. osob maximální rychlost ponor rozjezd jízda ukotvení … dopravní prostředek ID počet přepravovaných osob maximální rychlost rozjezd jízda …
5. Polymorfismus -polymorphism stejné metody se dědí, ale mají jinou funkčnost lokální definice metody má vyšší platnost než nadřazená vlastnost příklad: pravidelná technická kontrola metoda Kontrola provedeme dědění metody Kontrola Pro automobil, bicykl, loď stanovena po najetých kilometrech. Pro letadlo po nalétaných hodinách – nutná nová definice metody Kontrola (stejného jména), ale jiná funkčnost
6. Zapouzdření - encapsulation objekt nereaguje na události, pro které nemá definovány metody objekt je zapouzdřen se svými vlastnostmi a metodami Př. bankovní účet má definovány jen metody přičtení a odečtení čísla Zůstatek účtu nelze násobit konstantou (neexistuje metoda násobení) Zapouzdření funguje jako „ochrana“ objektu bankovní účet. Objekt vlastnosti metody události
Rozhraní VB