Identity Lifecycle Management

Podobné dokumenty
PowerPoint Presentation

enum

História

DediĊnosť

PowerPoint Presentation

midterm2014_1

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

Identity Lifecycle Management

Identity Lifecycle Management

PowerPoint Presentation

Konkurentné programovanie

Objektovo orientované programovanie

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

Pracovný postup pre vypĺňanie údajov elektronického formulára IŠIS pre spravodajskú jednotku 1

Výnimky

Identity Lifecycle Management

NÁVRH UČEBNÝCH OSNOV PRE 1

User:Andrej Sedlacek

FAULTS DIAGNOSIS OF CONTROL SYSTEM USING THE OBSERVER

Preco kocka stací? - o tom, ako sú rozdelené vlastné hodnoty laplasiánu v limite, ked sú velké

Microsoft Word - prirucka_katedry_nova

Microsoft Word - 06b976f06a0Matice - Uzivatelska Dokumentacia

03_ControlFlow.dvi

PowerPoint Presentation

Vzorové riešenia úlohy 4.1 Bodovanie Úvod do TI 2010 Dôvod prečo veľa z Vás malo málo bodov bolo to, že ste sa nepokúsili svoje tvrdenia dokázať, prič

Prezentace aplikace PowerPoint

Programujeme krok za krokom prvú mobilnú aplikáciu v AI2

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Praktické paralelné programovanie v jazykoch C# 4.0 a C++

ŤAHÁK PRAKTICKÁ ČASŤ Prerekvizity: LINUX: WINDOWS: Inštalácia Oracle VirtualBoxu a vytvorenie virtuálneho stroja /návod nižšie/ Operačný system Window

Ú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

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

Algoritmizácia a programovanie - Príkazy

seminarna_rocnikova_a_bakalárska práca

Matej Kendera - PDF, word, lucene, java

eKasa

Používateľská príručka POUŽÍVATEĽSKÁ PRÍRUČKA Generátor XML dávok pre Informačný systém kontrolných známok z MS Excel šablóny Dátum: Verzia

midterm2019

PowerPoint-Präsentation

Import absencí z ASC

Microsoft PowerPoint - Prog_p08.ppt

Autoregresné (AR) procesy Beáta Stehlíková Časové rady, FMFI UK Autoregresné(AR) procesy p.1/22

Informačné technológie

MO_TČOZ_TLY_2018_2019

Zásady spracovania a ochrany osobných údajov I. Základné ustanovenia 1. Správcom osobných údajov podľa čl. 4 bod 7 nariadenia Európskeho parlamentu a

FAQ

Návod na nastavenie oprávnení pre oprávnené osoby s udeleným čiastočným prístupom Dátum zverejnenia: Verzia: 3 Dátum aktualizácie:

SAEAUT SNMP OPC Server

Rozdeľovanie IT zákaziek UX Peter Kulich

EURÓPSKA KOMISIA V Bruseli C(2018) 6560 final ANNEX 1 PRÍLOHA k vyoknávaciemu rozhodnutiu Komisie, ktorým sa stanovuje metodika monitorov

Snímka 1

Microsoft PowerPoint - OOP_prednaska_10.pptx

Metrické konštrukcie elipsy Soňa Kudličková, Alžbeta Mackovová Elipsu, ako regulárnu kužeľosečku, môžeme študovať synteticky (konštrukcie bodov elipsy

SK MATEMATICKA OLYMPIADA 2010/ ročník MO Riešenia úloh domáceho kola kategórie Z4 1. Doplň do prázdnych políčok čísla od 1 do 7 každé raz tak,

(Microsoft Word - Tuzemsk\341 a zahrani\350n\341 jazda \232tandardn\341 jazda.docx)

Agenda záverečnej práce pedagóg Celá agenda týkajúca sa záverečnej práce je dostupná v obrazovke Záverečná práca (menu Agenda pedagóga -> Záverečné pr

Microsoft Word - 6 Výrazy a vzorce.doc

(Manu\341l)

MediatelYext

sprievodca-priestor.pdf

Zakúpili sme mobilný telefón, ktorý budeme splácať v mesačných splátkach spolu s poplatkom za mobilné služby. Prvá faktúra bola vystavená s rozpisom n

Prevádzka

Microsoft Word - skripta3b.doc

eKasa

Microsoft Word - Manazment_projektov_tim24_tema12_2017.docx

Pravidelné úlohy verzia ku dňu SEAL IT Services, s.r.o. Kontakt: SEAL IT Services, s.r.o., Topoľová 4, Bratislava 1, tel.:

Obsah tejto príručky Microsoft Prechod na program Access 2010 z programu Access 2003 Vzhľad programu Microsoft Access 2010 sa výrazne odlišuje od prog

PowerPoint Presentation

bakalarska prezentacia.key

Generovanie viacstavových modelov a ich riešenie v Maxime 1 Jozef Fecenko Abstrakt Cieľom príspevku je prezentovať zdrojový kód v open source systéme

2

Január 2012 (verzie ) Popis zmien v systéme PROLUC

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

Microsoft Word prist_prava_ Popadic.doc

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

MERANIE U a I.doc

Príklad 5 - Benzén 3. Bilančná schéma 1. Zadanie príkladu n 1 = kmol/h Definovaný základ výpočtu. Na základe informácií zo zadania si ho bude v

1

Užívateľský manuál FULL HD LED stropný monitor (AUX/HDMI/USB/FM-TX)

Prezentácia programu PowerPoint

Portál VŠ a CEP

Snímka 1

Trendy vývoja informatiky na ÚAMT

Katalóg cieľových požiadaviek k maturitnej skúške

Sablona prispevky MSI

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

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

Microsoft Word - mnohouholnik.doc

Zasady ochrany osobnych udajov - HAGARA - JULINEK

Matematika 2 - cast: Funkcia viac premenných

0022-vub-mobilne-tokeny-200x200-v03.indd

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

Prezentácia programu PowerPoint

ZBIERKA ZÁKONOV SLOVENSKEJ REPUBLIKY Ročník 2017 Vyhlásené: Časová verzia predpisu účinná od: Obsah dokumentu je právne záväzný

MO_pred1

Sprievodný list SofCom s.r.o., Priemyselná 1, Liptovský Mikuláš Program basic.sk Verzia ( ) Dátum Autor Ing. J. Malíče

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áš

STRUČNÝ NÁVOD KU IP-COACHU

Prepis:

9. prednáška (13.11.2017) Budujeme triedy alebo Murovanie v OOP 1

DVDčka 2

Cieľ: pohodlná správu zbierky DVD-čiek. Vyžadovaná funkcionalita: vieme vložiť info o novom DVD odstrániť DVD (napríklad sa poškodilo alebo stratilo) vypísať všetky filmy v zbierke vypísať tie filmy, ktoré zodpovedajú danému žánru (napr. komédie) Zadanie vypísať tie filmy, ktoré sa dajú pozrieť do nejakého času (napr. do 90 minút) vypísať všetkých filmy, kde hral daný herec vypísať filmy, ktoré sú podľa nášho hodnotenia na stupnici od 7 do 10. 3

DVDčka 4

Zadanie Dôležité informácie o každom DVDčku: názov filmu mená hercov, ktorí v ňom hrali žánre do ktorých spadá film môže mať viac žánrov (napr. "kriminálka a thriller" alebo "romantika, komédia a rodinný") dĺžku filmu hodnotenie kvality filmu: 0-10 5

Funkcionalita vs. dáta Dve kľúčové (základné) množiny požiadaviek: S akými dátami bude program pracovať Aké služby má poskytovať resp. akú funkcionalitu má program mať Pokiaľ nemáte jasno v ľubovoľnom z týchto bodov, ani nezačíname programovať! Princíp logického rozdelenia na dáta a funkcionalitu zachovávajú aj elementárne súčiastky OOP - triedy 6

Funkcionalita Funkcionalita vs. dáta Princíp logického rozdelenia na dáta a funkcionalitu zachovávajú aj elementárne súčiastky OOP - triedy Dáta 7

Rozdeľuj a panuj Ťažké problémy rozbiť na podproblémy. V zložitom systéme (svete) identifikovať jednoduchšie časti komponenty celku. 8

Realita vs. objekty a ich triedy Zoznam/Správca DVDčiek public class ZoznamDvd Zmysel života? ZoznamDvd závisí od Dvd public class Dvd DVD 9

Objekty Objekt: poskytovateľ funkcionality obal na dáta, ktoré patria k sebe String StringBuilder Color Turtle Point2D MouseEvent WinPane 10

DVD a jeho dáta Keď vieme s akými dátami budeme pracovať, musíme sa rozhodnúť, ako budeme dáta uchovávať. Zadanie v časti dáta o jednom DVD : názov filmu mená hercov, ktorý v ňom hrali žánre do ktorých spadá; predpokladáme, že film môže mať viac žánrov (napr. "kriminálka a thriller" alebo "romantika, komédia a rodinný") dĺžku filmu naše hodnotenie kvality filmu na stupnici od nula do desať. 11

Ako budem dáta uchovávať? názov filmu String Inštančné premenné objektov triedy Dvd? mená hercov, ktorý v ňom hrali String[] žánre do ktorých spadá, predpokladáme, že film môže mať viac žánrov String[] dĺžku filmu int hodnotenie kvality filmu na stupnici od nula do desať double 12

Trieda Dvd Vytvoríme si triedu Dvd, ktorá bude šablónou pre všetky DVD-čka a umožní im uchovávať si tieto informácie Akú triedu vylepšujeme? nepotrebujeme funkcionalitu Turtle ani WinPane rozšírime triedu Object z triedy Object pochádzajú všetky triedy v Jave 13

Trieda ako obal pre viac premenných public class Dvd extends Object { private String nazovfilmu; private String[] herci; private String[] zanre; private int dlzkafilmu; private double hodnotenie; 14

Trieda ako obal pre viac premenných public class Dvd extends Object { private String nazovfilmu; private String[] herci; private String[] zanre; private int dlzkafilmu; private double hodnotenie; Nemusíme písať 15

Môžeme vytvárať nové objeky triedy Dvd: Použitie public class Launcher { public static void main(string[] args) { Dvd matrix = new Dvd(); Dvd shawshank = new Dvd();... Ale ako dostaneme dáta do objektov? 16

Ako dostať dáta do objektov? Ako to robia iné objekty a triedy? Konštruktory Metódy String s = new String("Java"); Color c = new Color(100, 200, 100); franklin.setx(100); franklin.getx(); sb.append('a'); 17

Zapúzdrenie (Encapsulation) Zabraňuje priamemu prístupu k dátam (vnútorným častiam) objektu Dáta a metódy, ktoré s nimi pracujú, sú spolu. Každý objekt navonok sprístupňuje rozhranie (=metódy), pomocou ktorého (a nijako inak) sa s objektom pracuje. objekty sú zodpovedné za konzistentný obsah svojich inštančných premenných s objektami sa chceme rozprávať iba cez ich metódy 18

Setter Setter = metóda na nastavenie hodnoty inštančnej premennej Vie meniť hodnoty privátnym inštančným premenným Môže vykonávať kontroly Ak sa jej nová hodnota nepáči, môže zmenu odmietnuť, vypísať hlášku alebo hocičo iné.. private Typ premenná; public void setpremenná(typ premenná) { this.premenná = premenná; 19

Getter Getter = metóda na vrátenie hodnoty inštančnej premennej Vie čítať hodnoty privátnych inštančných premenných Nemusíme sprístupniť všetky private Typ premenná; public Typ getpremenná(){ return this.premenná; Settery a gettery nám vie vygenerovať Eclipse: Source -> Generate Getters and Setters 20

Setter, getter a referencie public String[] getherci() { return herci; Vrátenie referencie na pole narušuje princíp zapúzdrenia! Obsah String-ov meniť nemožno, vrátenie referencie na String je OK. public String[] getherci() { return herci.clone(); 21

Konštruktor Doteraz známy aj ako inicializačná metóda Môže mať žiaden alebo viac parametrov Môžeme ich mať viac v jednej triede musia sa líšiť počtom alebo typmi parametrov Volá sa cez new File adresar = new File("C:/Windows"); File subor = new File(adresar, "system.ini"); Scanner sc = new Scanner(subor); 22

Každý konštruktor vytvára objekt podľa šablóny - triedy napĺňa inštančné premenné hodnotami Konštruktor Programátorom napísané konštruktory môžu nastaviť vhodnejšie inicializačné hodnoty ako default 23

Konštruktor Meno má rovnaké ako meno triedy v ktorej sa nachádza Nepíšeme návratový typ, nemá žiaden return public class Dvd { public void Dvd(...parametre...) {... return this;... Ukážka 24

Pravidlá na zapamätanie Každá trieda má aspoň jeden konštruktor Ak nie je žiaden konštruktor napísaný programátorom, doplní sa neviditeľný implicitný konštruktor: public class Dvd { public Dvd() {... Takto by vyzeral implicitný konštruktor keby ho bolo vidieť 25

Vieme ho generovať z Eclipsu Source -> Generate Constructor using fields Konštruktor Ak máme vytvorený konštruktor s parametrami, implicitný konštruktor sa nedopĺňa! ak aj potom chceme používať konštruktor bez parametrov, musíme si ho vytvoriť explicitne! Konštruktor môže volať iný svoj konštruktor musí to byť ale prvý príkaz konštruktora this( parameter ) 26

Napĺňanie priamym prístupom Najhorší a neodporúčaný prístup zmažeme ochranu inštančných premenných: private pristupujeme do vnútra objektu cez bodku nasledovanú názvom inštančnej premennej Ukážka Kým na to nemáme pádne dôvody, nikdy to nerobíme pretože: si objekty nedokážu ochrániť svoje premenné vyladená trieda sa môže stať nestabilnou pri nevhodnom použití používateľ metódy musí ovládať vnútornú logiku triedy, aby sa ju odvážil používať bez obavy, že utrpí jeho vlastný program 27

Vytvárame zoznam DVD-čiek Chceme uchovávať veľa DVD-čiek Pozor na prvoplánové riešenia: public class SkusanieDvd { public static void main(string[] args) {... Dvd[] filmy = new Dvd[4]; filmy[0] = matrix; filmy[1] = shawshank; filmy[2] = fontana; filmy[3] = pacho; 28

Chceme vedieť: vložiť nové DVD Zadanie vymazať DVD (napríklad sa poškodilo alebo stratilo) vypísať všetky filmy vo vašej zbierke vypísať tie filmy, ktoré zodpovedajú danému žánru (napr. komédie) vypísať tie filmy, ktoré sa dajú pozrieť do nejakého času (napr. < 90 minút) vypísať všetkých filmy, kde hral daný herec vypísať filmy, ktoré sú podľa nášho hodnotenia na stupnici od 7 do 10. 29

Realita vs. objekty a ich triedy Zoznam/Správca DVDčiek public class ZoznamDvd Zmysel života? ZoznamDvd závisí od Dvd public class Dvd DVD 30

Správca DVD vs. zapúzdrenosť Všetky dôležité dáta majú svojho správcu Správca = objekt vhodnej triedy Dáta = uložené v privátnych inštančných premenných tohto objektu Dáta môžeme spravovať len cez metódy objektu, ktorý dáta drží Správcom pre naše pole DVD-čiek bude objekt novej triedy ZoznamDvd 31

Kostra triedy ZoznamDvd public class ZoznamDvd { private Dvd[] filmy; public ZoznamDvd() { filmy = new Dvd[0]; public void vloznovedvd(dvd dvd) { public void vymazdvd(dvd dvd) { public void vypisvsetko() { public void vypispodlazanru(string zaner) {... 32

Dopĺňame telá metód Pri vkladaní nafukujeme pole a pridávame nové DVD-čko Pri mazaní nájdeme DVD-čko a skracujeme pole Hľadáme podľa inštancie Hľadáme podľa názvu filmu (iná verzia tej istej metódy) 33

Preťaženie metód Vhodné v prípade, že metódy robia to isté len sa líšia svojim vstupom Počtom parametrov alebo Aspoň jedným typom parametra public void vymazdvd(dvd dvd) {... public void vymazdvd(string nazovfilmu) {... 34

Preťaženie metód Nestačí, že sa líšia názvom parametrov alebo návratovým typom public int vypocet(int vstup1, double vstup2) {... public double vypocet(int prva, double druha) {... double vysledok = 3.0 * this.vypocet(5,2.0); 35

Signatúra metódy Metóda nie je identifikovaná len názvom... Signatúra metódy: názov metódy (usporiadaný) zoznam typov parametrov metódy public double vypocet(int prva, double druha) Signatúra: [vypocet, int, double] Trieda nemôže mať 2 metódy s rovnakou signatúrou... 36

Dopĺňame telá metód Nasleduje plejáda metód na výpis tých DVD-čiek, ktoré spĺňajú nejakú požiadavku public void vypisvsetko() { public void vypispodlazanru(string zaner) { public void vypispodlacasu(int maximalnycas) { public void vypispodlaherca(string menoherca) { public void vypispodlahodnotenia(double odhodnota, double dohodnota) { 37

ZoznamDvd vs. Dvd Pri výpise by sme chceli vidieť nie len názov ale aj ostatné vlastnosti práca s viacerými súkromnými premennými DVD-čiek Zoznam DVD-čiek nebudeme zaťažovať spracovaním týchto cudzích premenných, poprosíme príslušné DVD-čka, nech nám vygenerujú sformátovaný výstup vo všeobecnosti, každú rozumnú funkcionalitu čiastočne delegujeme na objekty triedy Dvd 38

Dopĺňame telá metód V zozname DVD-čiek už pohodlne využívame to, čo potrebujeme public class ZoznamDvd {... public void vypisvsetko() { for (int i=0; i < filmy.length; i++) { System.out.println(filmy[i].toString());... 39

Dopĺňame telá metód Podobne hľadanie v súkromnom poli žánrov necháme na DVD-čka public class ZoznamDvd {... public void vypispodlazanru(string zaner) { for (int i=0; i < filmy.length; i++) { if (filmy[i].mamzaner(zaner)) System.out.println(filmy[i].toString());... 40

Ďakujem za pozornosť! 41