Přehled současných způsobů tvorby programů

Slides:



Advertisements
Podobné prezentace
(instance konkrétní třídy)
Advertisements

Stručný úvod do UML.
Úvod do databázových systémů
Co je to uživatelské menu? Ve WinBase si můžeme ke každé aplikaci vytvořit vlastní menu, které po otevření nahradí standardní menu WinBase. Toto uživatelské.
VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Ing. Monika Šimková. Máme-li data reprezentovat v databázi, jak vybereme jejich strukturu na konceptuální úrovni? Konceptuální modelování analyzuje požadavky.
ÚVOD DO CPP 7 Dědičnost - pokračování
BLIŽŠÍ POHLED NA TŘÍDY, DĚDIČNOST - úvod
Základy informatiky přednášky Kódování.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Přínosy a druhy počítačových sítí. Jednou z nejvýznamnějších technologií používaných v oblasti výpočetních systémů jsou již řadu let počítačové sítě.
Z ČEHO SE POČÍTAČ SKLÁDÁ
Základní číselné množiny
Soustava lineárních nerovnic
State. State – kontext a problém Kontext  chování objektu má záviset na jeho stavu, který se typicky mění za běhu Neflexibilní řešení  metody obsahují.
Páté cvičení Dědičnost Interface Abstarktní třídy a metody
25. ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ
KONCEPTUÁLNÍ MODELOVÁNÍ
Proč programovat v LS objektově Jiří Krákora, Alliance Healthcare.
13AMP 6. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled Synchronizace procesů Synchronizace procesů Producent-Konzument Producent-Konzument.
Databázové systémy přednáška+cvičení
Programování Michal Žůrek.
KEG Použití vzorů při vyhledávání na webu Václav Snášel.
Objektové programování
Informatika pro ekonomy II přednáška 10
Modelování a simulace MAS_02
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Možnosti modelování požadavků na informační systém
 1. Autor zprávy : Původcem zprávy a tím, kdo ji předává druhým, jste vy sami. Způsob, jakým ji předáváte dál, může být ovlivněn například :  Postoj.
Relační propojování tabulek. Úvod Tato prezentace má sloužit běžným uživatelům, jak začátníkům, tak i zkušeným uživatelům. Když budete postupovat podle.
Dokumentace objektů a zveřejnění funkcí
Sociální síť Sociální síť, zvaná též společenská síť, komunitní síť či komunita, anglicky social network, je propojená skupina lidí, kteří se navzájem.
KIV/PPA1 cvičení 8 Cvičící: Pavel Bžoch. Osnova cvičení Objekty v Javě Třída Konstruktor Metody Metody a proměnné třídy x instance Program sestávající.
OSNOVA: a) Úvod do OOPb) Třídy bez metod c) Třídy s metodamid) Konstruktory a destruktory e) Metody constf) Knihovní třídy g) Třídy ve tříděh) Přetížení.
Algoritmizace a programování Objektově orientované programování - 16 Mgr. Josef Nožička IKT Algoritmizace a programování
IB111 Programování a algoritmizace
WWW – hypertextový informační systém
Dědičnost - inheritance dědičnost je jednou z forem znovupoužitelnosti dědičnost je jednou z forem znovupoužitelnosti B A Třída A je předkem třídy B Třída.
Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička.
Internet ale velmi výrazně slouží i pro komunikaci, přičemž jednoznačně nejpoužívanějším komunikačním prvkem je . Význam slova lze přeložit.
Databázové modelování
Metodika objektového přístupu při tvorbě překladačů. Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Objektově orientovaný přístup (úvod)
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
R OVNICE A NEROVNICE Základní poznatky o rovnicích VY_32_INOVACE_M1r0101 Mgr. Jakub Němec.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorIng. Ivana Brhelová Název šablonyIII/2.
Databázové systémy Datové modely.
INTERNET INFORMATIKA 5. TŘÍDA. Internet si volně můžeme vyložit jako sít, která vzájemně propojuje počítače po celém světě. Někdy se také internet označuje.
E- MAIL Ing. Jiří Šilhán. E LEKTRONICKÁ POŠTA NEBOLI vývoj od počátku sítí – původní návrh pouze pro přenos krátkých textových zpráv (ASCII) základní.
Informatika. Cíle výuky informatiky Studenti se mají seznámit se základními pojmy, problémy, postupy, výsledky a aplikacemi informatiky tak, aby je dokázali.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
Delphi – práce se základními komponentami (2. hodina) OB21-OP-EL-KON-DOL-M-4-008B Orbis pictus 21. století.
Vývojová prostředí Objektově Orientované Programování OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Bezpečnostní technologie I
Vypracoval / Roman Málek
Výukový materiál zpracován v rámci projektu
Definiční obor a obor hodnot
Vlastnosti souborů Jaroslava Černá.
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
ZAL – 3. cvičení 2016.
Název školy: ZŠ Bor, okres Tachov, příspěvková organizace
Informatika pro ekonomy přednáška 8
Soustava lineárních nerovnic
Název školy: Střední odborná škola stavební Karlovy Vary
Definiční obory. Množiny řešení. Intervaly.
Transkript prezentace:

Přehled současných způsobů tvorby programů Objektové a vizuální programování

Objektové programování Koncepce, tj.hlavní myšlenka, vlastnosti Programovací jazyky Teorie objektů

Vlastnosti Objekty – jednotlivé prvky modelované reality (jak data, tak související funkčnost) jsou v programu seskupeny do entit, nazývaných objekty. Objekty si pamatují svůj stav a navenek poskytují operace (přístupné jako metody pro volání).

Vlastnosti Abstrakce – programátor, potažmo program, který vytváří, může abstrahovat od některých detailů práce jednotlivých objektů. Každý objekt pracuje jako černá skříňka, která dokáže provádět určené činnosti a komunikovat s okolím, aniž by vyžadovala znalost způsobu, kterým vnitřně pracuje.

vlastnosti Zapouzdření – zaručuje, že objekt nemůže přímo přistupovat k „vnitřnostem“ jiných objektů, což by mohlo vést k nekonzistenci. Každý objekt navenek zpřístupňuje rozhraní, pomocí kterého (a nijak jinak) se s objektem pracuje.

vlastnosti Skládání – Objekt může obsahovat jiné objekty. Delegování – Objekt může využívat služeb jiných objektů tak, že je požádá o provedení operace.

vlastnosti Dědičnost – objekty jsou organizovány stromovým způsobem, kdy objekty nějakého druhu mohou dědit z jiného druhu objektů, čímž přebírají jejich schopnosti, ke kterým pouze přidávají svoje vlastní rozšíření. Tato myšlenka se obvykle implementuje pomocí rozdělení objektů do tříd, přičemž každý objekt je instancí nějaké třídy. Každá třída pak může dědit od jiné třídy (v některých programovacích jazycích i z několika jiných tříd).

Některé z těchto vlastností jsou pro OOP unikátní, jiné (např Některé z těchto vlastností jsou pro OOP unikátní, jiné (např. abstrakce) jsou běžnou vlastností i jiných vývojových metodik. OOP je někdy označováno jako programátorské paradigma, neboť popisuje nejen způsob vývoje a zápisu programu, ale i způsob, jakým návrhář programu o problému přemýšlí.

Programovací jazyky Bylo již dříve, proto jen shrnu Tzv. čistě objektové jazyky, někdy nazývané objektové ve kterých se programuje pouze pomocí objektů. Sem patří např. Smalltalk a Ruby. Tzv. hybridní jazyky, nebo také objektově orientované ve kterých programátor může a nemusí dodržovat principy OOP, které je většinou implementováno nekompletně (základní typy). Mezi takové jazyky patří např. C++ a Python. Objektová rozšíření původně neobjektových jazyků, např. Object Pascal, který vznikl jako rozšíření neobjektového jazyka Pascal.

Teorie objektů Základním pojmem - objekt. Objekt si „pamatuje“ svůj stav (v podobě dat čili atributů) a poskytuje rozhraní operací, aby se s ním mohlo pracovat. Při používání objektu nás zajímá, jaké operace (služby) poskytuje, ale ne, jakým způsobem to provádí - princip zapouzdření. Jestli to provádí sám nebo využije služeb jiných objektů, je celkem jedno. Abstrakce objektu, která v programu podchycuje podstatu všech objektů podobného typu, se nazývá třída. Třída = předpis, jak vyrobit objekt daného typu. Například Váš spolužák (chápejme ho jako objekt) má nějaké jméno, je nějak vysoký, umí chodit a umí mluvit. Totéž platí i pro Vás. Můžeme tedy při modelování těchto dvou objektů, spolužáka a Vás, abstrahovat od nepodstatných dílčích odlišností a díky této abstrakci vytvořit obecnou třídu Člověk, která bude mít atributy jméno a příjmení (obojí je nějaký řetězec znaků) a metody chodit a mluvit.

Dědičnost Při vytváření objektů pro chod programu, které budou odpovídat zmíněným dvěma reálným objektům, je třeba vytvořit dvě různé třídy Člověk, pro každý modelovaný reálný objekt jednu instanci (tedy jedna třída Vy a jedna spolužák). Hodnoty atributů jméno a příjmení se pochopitelně v našem případě budou lišit, nicméně obě instance jsou schopny chodit a mluvit díky tomu, že jsme tyto schopnosti obecně přiřadili třídě Člověk. Představme si dále, že můj soused je svářeč. Stejně jako spolužák má jméno, příjmení a umí chodit, mluvit, navíc ovšem umí svářet. Při modelování můžeme využít toho, že svářeč má všechny vlastnosti třídy Člověk a něco navíc. Vytvořme třídu Svářeč jako potomka třídy Člověk. Třída svářeč tímto dědí všechny atributy i metody třídy Člověk (nemusíme je v kódu znovu psát a budeme je upravovat na jediném místě), navíc bude mít metodu svařit. Metoda svařit může mít dva například parametry (argumenty), prvníKusKovu a druhýKusKovu, a návratovou hodnotu jedenKusKovu. Vím, že když dám sousedovi svářeči dva kusy kovu a požádám o jejich svaření, dostanu je zpátky jako jeden kus kovu a nemusím se starat o to, jak to dokázal. Stejně to bude fungovat v programu. Objekty si mezi sebou mohou posílat zprávy, v našem případě zpráva znamená, že jeden objekt spustí metodu svařit jiného objektu a využije vrácenou hodnotu (druhá zpráva). Tomuto způsobu komunikace mezi objekty, která skrývá konkrétní implementaci a stará se jen o zprávy, se v objektově orientovaném programování říká zapouzdření.

Zapouzdření Zapouzdření v objektech znamená, že k obsahu objektu se nedostane nikdo jiný, než sám vlastník. Navenek se objekt projeví jen svým rozhraním (operacemi, metodami) a komunikačním protokolem. Představte si sekretářku a ředitele jako dva objekty. Sekretářka umí rozhraní SchopenPsátNaPočítači, kde je např. operace napsatDopis, ale ředitel ho nemá (není to jeho starost). Ale může mít operaci napsatDopis, protože může požadavek předat jinému objektu - sekretářce. Udržování odkazů na jiné objekty a využívání jejich služeb se říká skládání objektů.

Atomizace metod = zodpovědnost objektu = to, co objekt umí, o co se stará. Objekt by neměl umět sám příliš mnoho a nemusí to dělat sám (viz skládání objektů). Znakem kvalitního návrhu softwaru je to, že třídy v projektu obsahují pokud možno atomické metody, které řeší pouze jeden konkrétní problém.

Vizuální programování Forma programování i pro běžného uživatele Není nutné znát progr. jazyky (syntaxe, kódy) „jen kliká myší“ vybírá si součásti, které ve svém programu chce použít. Spojuje je mezi sebou, určuje jejich vlastnosti a funkce.

když je program hotov a fungují všechny funkce které tam uživatel nastavil, tak nechá program přeložit do strojového jazyka. Tím se program zakóduje do zápisu, kterému rozumí počítač.

Příklady programů Baltík Squeak Etoys Petr …