DediĊnosť

Podobné dokumenty
enum

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

PowerPoint Presentation

Microsoft PowerPoint - OOP_prednaska_10.pptx

Princípy tvorby softvéru Programovacie paradigmy

Identity Lifecycle Management

Funkcionálne programovanie Cvičenie 9 Funkcionálne programovanie v Jave Sergej Chodarev 22. november 2017 Technická Univerzita v Košiciach

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

midterm2014_1

prijimacky 2014 MAT 4rocne ver A.doc

Akreditácia vzdelávacích programov – projekt MVP

História

PowerPoint Presentation

Objektovo orientované programovanie

1

N desitka.indd

Externé mediálne karty Používateľská príručka

NSK Karta PDF

Prehľad o umiestnení žiakov po prijímacom konaní na školský rok 2018/2019 Odbor 2697 K mechanik elektrotechnik v školskom systéme vzdelávania Plánovan

Cvičenie I. Úvodné informácie, Ekonómia, Vedecký prístup

ECDL Syllabus V50 SK-V01

PowerPoint Presentation

Identity Lifecycle Management

DIDKATICKÉ POSTUPY UČITEĽA

Prihláška na vysokoškolské štúdium bakalárske prvý stupeň alebo spojené prvý a druhý stupeň v jednom celku 1) Pečiatka VŠ, fakulty: Evidenčné číslo: A

Prezentácia programu PowerPoint

2.5. Dotyčnica krivky, dotykový kužeľ. Nech f je krivka a nech P V (f) (t.j. m P (f) 1). Ak m P (f) = r a l je taká priamka, že I P (f, l) > r, potom

Relačné a logické bázy dát

Identity Lifecycle Management

Identity Lifecycle Management

Matej Kendera - PDF, word, lucene, java

Headline Verdana Bold

Microsoft Word _1_.docx

Čo sú pojmové mapy 1 Charakterizácia pojmových máp pojmové mapy sú diagramy, ktoré vyjadrujú podstatné vzťahy medzi pojmami vo forme tvrdení. Tvrdenia

Konfigur[PleaseinsertPrerenderUnicode{á}intopreamble]cia dynamick[PleaseinsertPrerenderUnicode{é}intopreamble]ho smerovania na routroch Cisco - Seme

Prezentácia programu PowerPoint

Vnútorná reprezentácia údajových typov

NSK Karta PDF

Algoritmizácia a programovanie - Príkazy

Neineárne programovanie zimný semester 2018/19 M. Trnovská, KAMŠ, FMFI UK 1

Žiadosť o licenčnú zmluvu na podujatie Na adrese v sekcii hlavného menu kliknete na položku Používatelia. Zobrazí sa blokové menu,

Detekcia akustických udalostí v bezpečnostných aplikáciách

Prevádzka

bsah

J / // Ĺ Agentúra ínisterstva školstva, vedy, výskum u a športu SR pre štrukturálne fondy EÚ * Ä * * Európska únia Európsky sociáíny fond ITMS kód Pro

CitiManager - Migration Quick Reference Guide for Cardholders_Slovak_fin

Paralelné algoritmy, cast c. 2

(Microsoft Word Zadanie na s\372\235a\236 KROS DESIGN AWARD .doc)

Inteligentné rozhodovacie systémy Heuristické prehľadávanie SP Október, 2018 Katedra kybernetiky

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt FR SR Strana 1 z 11 Dátové rozhranie

Platný od: OPIS ŠTUDIJNÉHO ODBORU

ITMS kód Projektu: DODATOK Č. 2 K ZMLUVE O POSKYTNUTÍ NENÁVRATNÉHO FINANČNÉHO PRÍSPEVKU uzatvorený v zmysle 269 ods. 2 zákona č. 513/1991

Moje leto musí byť výnimočné Sme radi, že využívate služby Orangeu, a veríme, že ste s nimi spokojný. Aby však bolo vaše leto naozaj výnimočné, prináš

User:Andrej Sedlacek

Prezentace aplikace PowerPoint

MO_TČOZ_TLY_2018_2019

Aktualizácia č. 1 Usmernenia č. 3/2013 operačný program Vzdelávanie Názov: Usmernenie pre Prijímateľov vo veci periodicity predkladania plánov a harmo

midterm2019

Aplikácie ekonomickej a finančnej matematiky

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu

Úvod do mobilného operačného systému ANDROID

PowerPoint Presentation

Vietnam – Kambodža 2017

OP-Oboznamenie-skolitelia-web

Podvojné účtovníctvo, fakturácia a sklad ekasa: štandardný predaj priamo z programu Pri predaji s priamym napojením na softvér je potrebné mať online

Prihláška na vysokoškolské štúdium bakalárske prvý stupeň alebo spojené prvý a druhý stupeň v jednom celku 1) Pečiatka VŠ, fakulty: Evidenčné číslo: A

Pokrocilé programovanie XI - Diagonalizácia matíc

gis5 prifuk

Modem a lokálna sieť LAN Používateľská príručka

Úroveň strojového kódu procesor Intel Pentium Úvod Štruktúra procesorov Intel Pentium Základné inštrukcie Vetvenia a cykly Praktické programovanie jed

Kód: Stavba: SÚHRNNÝ LIST STAVBY BSK8-18 Gymnázium Alberta Einsteina BA - výmena podlahy telocvične JKSO: KS: Miesto: Dátum: Objednávateľ: Gymnázium A

Snímka 1

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre spracovanie lekárskych poukazov - očná optika Strana

MO_pred1

seminarna_rocnikova_a_bakalárska práca

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka 2 Úvodná stránka 2 Registrácia prevádzka/penzión

Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Texto

PowerPoint Presentation

Microsoft PowerPoint - SLIDES_02DTD.ppt

UpRekrea manuál

Datasheet

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

Microsoft Word - manual_ESS_2010

Zeszyty Naukowe PWSZ, Nowy Sącz 2013 Konštrukcie magických obdĺžnikov Marián Trenkler Faculty of Education, Catholic University in Ružomberok Hrabovsk

V jedinej lekcii Meno: 1 Ako reagujete na profesionálne médiá? Pracujte vo dvojiciach a pripravte sa na hranie rolí. Označte sa ako Osoba A a Osoba B.

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M

W/ffi- i Ministerstva školstva, vedy, výskumu a športu SR ^ f I pre štrukturálne fondy EÚ ^ ^ ^ ^ EunSpstf x*ulny fond ITMS kód Projektu:

Finančné riaditeľstvo Slovenskej republiky 9/ORP/2019/IM Stiahnutie identifikačných a autentifikačných údajov pri ORP - rola Administrátor/Technik Inf

Meno: Škola: Ekonomická olympiáda 2017/2018 Test krajského kola SÚŤAŽ REALIZUJE PARTNERI PROJEKTU

FAULTS DIAGNOSIS OF CONTROL SYSTEM USING THE OBSERVER

Microsoft PowerPoint - Prog_p08.ppt

Matematika 2 - cast: Funkcia viac premenných

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt MV SR Strana 1 z 10 Dátové rozhranie

Finančné riaditeľstvo Slovenskej republiky 10/ORP/2019/IM Stiahnutie identifikačných a autentifikačných údajov pri ORP - rola Administrátor Informácia

MINISTERSTVO ZDRAVOTNÍCTVA SLOVENSKEJ REPUBLIKY C (MZ SR) 5-01 ROČNÝ VÝKAZ O ČINNOSTI ALGEZIOLÓGIE za rok 2019 Registrované ŠÚ SR Č. Vk. 960/19 z 5.9.

Prepis:

Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Dedičnosť v jazyku C# Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond

OOP rekapitulácia Trieda je základná jednotka objektového programovania popisuje všeobecný (abstraktný) koncept jeho vlastnosti dáta jeho schopnosti metódy predpisuje typ Objekt je konrétnou instanciou triedy je analógia premennej

Trieda a objekt príklad Auto mojafabia; Typ (trieda) Premenná (objekt) mojafabia objekt je typu [120, 45] 80 (koní) skutočné dáta uložené v pamäti

OOP načo? OOP sa snaží priblížiť k reálnemu svetu umožňuje programátorovi navrhovať riešenia prirodzene tým, že reprezentuje prvky programu podobne, ako programátor uvažuje nad problémom na dosiahnutie tohto cieľa používa viacero konceptov, okrem tried a objektov dedičnost (o nej bude zvyšok prezentácie) polymorfizmus a iné

Dedičnosť umožnuje nám vytvárať triedy použitím už existujúcich tried dovoluje nám rozširovať existujúce triedy o nové dáta alebo metódy oddeľuje všeobecnejšie triedy od konkrétnejších

Príklad

Kód class Clovek public string Meno; public string Priezvisko; public bool Pohlavie; public DateTime DatumNarodenia; public int VyratajVek() // vypocet veku class Ucitel : Clovek public bool JeTriedny; public string Trieda; protected Predmet[] couci; class Student : Clovek public string Trieda; public int VyratajPlat() return couci.length * 150;

Nové kľúčové slovo - protected je alternatívou k public a private označuje, že prístup k danej dátovej položke bude mať len on sám a jeho potomkovia prísnejší než public ale jemnejší ako private

Kód Ucitel u = new Ucitel(); u.meno = "Jaroslav"; u.jetriedny = true; u.trieda = "3.C"; Console.WriteLine( "Vek: " + u.vyratajvek() ); Console.WriteLine( "Plat: " + u.vyratajplat() );

Dedičnosť načo? študenti a učitelia zdieľaju isté vlastnosti a schopnosti obaja sú totiž ľudia načo by ich programátor písal dvakrát? triedy učiteľ aj študent sú špecializácia triedy človek takisto je tu vidieť snahu OOP priblížiť sa k realite človek je abstraktným zovšeobecnením učiteľa aj študenta

ZnovuPoužiteľnost kľúčová myšlienka OOP kód sa zvykol často opakovať programátori písali podobné kusy kódu ktoré sa dali zovšeobecniť dedičnosť umožňuje spoločné správanie (napr. výpočet veku) odseparovať do jednej triedy používať tieto metódy už budú vďaka dedičnosti všetky triedy, ktoré od nej dedia

ZnovuPoužiteľnost (2) separovanie kódu ma však aj iné výhody akákoľvek zmena, ktorá sa týka viacerých tried sa dá urobiť v ich nadtriede (predkovi) to vedie k jednoduchšej úprave existujúceho kódu zaručuje vysokú flexibilitu znižuje riziko chýb a zľahčuje ich opravu

Príklad škola chce urobiť pre študentov aj učiteľov identifikačné karty každý žiak aj učiteľ dostane pridelené identifikačné čislo, ktoré bude mať na karte riešenie ID stačí pridať do triedy človek! takisto aj akékoľvek metódy ktoré by s týmto požiadavkom boli spojené (napr. zašifrovanie ID)

class Clovek // (zvysne vlastnosti a metody) public int ID; public long ZasifrujID( long verejnykluc ) // algoritmus zasifrovania

Overriding občas bude nová trieda potrebovať zmeniť správanie ktoré zdedila od svojho predka slúži na to tzv. overriding (nahradenie) príklad: externý učiteľ dostáva za hodinu viac než interný

class ExternyUcitel : Ucitel public ExternyUcitel() JeTriedny = false; public new int VyratajPlat() return couci.length * 200; nové kľúčové slovo new slúži na označenie metódy, ktorá prepisuje zdedenú

class Riaditel : Ucitel public new int VyratajPlat() return base.vyratajplat() + 2000; nové kľúčové slovo base odvoláva sa na metódu predka v tomto prípade starú metódu výpočtu platu

Záverečná hierarchia

Rady a upozornenia dedičnosť je silný a užitočný nástroj treba si dať ale pozor na jej použitie aplikovať len tam, kde sa to skutočne hodí (aj logicky) nepoužívať ju všade, kde by sa duplikoval kód (tj. nezneužívať dedičnosť) pozor na príliš zložité vzťahy a zbytočne hlboké stromy dedičnosti nezneužívať overriding pomocou new

Polymorfizmus jeden z najsilnejších nástrojov a základných stavebných kameňov OOP úzko súvisi s dedičnosťou a rozhraniami povieme si o ňom neskôr

Použité zdroje a literatúra Bates, B., & Sierra, K. (2003). Head First Java. O'Reilly Media. Davis, S. R., & Sphar, C. (2005). C# 2005 For Dummies. For Dummies. Object-oriented programming. (2010, February 3). Retrieved from Wikipedia, the free encyclopedia: http://en.wikipedia.org/wiki/object-oriented_programming Obrázky z aplikácie Microsoft Visual Studio

Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Tato prezentace byla vytvořena v rámci projektu OBZORY Autor: Šimon Soták Předmět: Seminář z programování C# Datum: 3. 2. 2010 Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond