AAO 1. félév EA - PDF 01

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "AAO 1. félév EA - PDF 01"

Átírás

1 AAO. félév EA - PDF 0. Szamitasi modellek es programozasi paradigmak 00. V.0 szeptember. Modellezési alapelvek A modellezés celja a vilag minel teljesebb kor megertese Elemek, folyamatok, osszefuggesek, viszonyok A modellezes soran a fenti cel erdekeben az ember: abrazolasokat keszit a vilagrol, majd lekepezi a vilag egyes szeleteit az altala hasznalt eszkozokben (ennek soran egy vagy tobb szempontot kiemel mas szempontokkal szemben). A modellezes celja 00. V.0 szeptember. Modellezési alapelvek Absztrakcio Lenyeg kiemelese, a jellegzetessegek leegyszer sitett lekepezese Megkulonboztetes Elemek meghatarozasa, elemek es tulajdonsagaik szetvalasztasa Osztalyozas Elemek tipusokba, csoportokba sorolasa Altalanositas es specializacio Elemtipusok b vitese es sz kitese, elemhierarchiak kialakitasa Kapcsolatok meghatarozasa Kulonboz kapcsolattipusok meghatarozasa, elemek kozotti kapcsolatok felallitasa Ismeretseg, leszarmazas, tartalmazas, kompozicio... A modellezes folyamata 00. V.0 szeptember. Programozási paradigmák Paradigma: szemleletmod; modellezesi, problemadefinicios es problemamegoldasi modszer Programozasi paradigma: a szamitogep konkret feladatok megoldasara torten felhasznalasanak, iranyitasanak modja A paradigma fogalma 00. V.0 szeptember. Programozási paradigmák A programozasi nyelveket altalaban egy-egy paradigma ihleti Celjuk egy adott programozasi paradigma legfontosabb jellemz inek megvalositasa A programozasi paradigmak egy-egy szamitasi modellre epulnek A programozasi nyelvek absztrakcios szintje folyamatosan n A kiindulopont a szamitogep konkret hardvermegvalositasa volt Minden uj paradigma noveli az absztrakcio szintjet Neha holtagak is keletkeznek, igy egyes magasabb absztrakcios szintet kepvisel nyelvek kihalnak, de a fenti allitas a f fejl desi iranyokra is igaz Programozasi paradigmak es programozasi nyelvek 00. V.0 szeptember. Programozási megoldások Imperativ szamitasi modellek ( hogyan szamitsuk ki ) Turing-modell Alan Turing nevehez f dik () Nincs hozza kapcsolodo programozasi paradigma (csak elvi jelent sege van) Neumann-modell Neumann Janos nevehez f dik () Proceduralis/strukturalt programozasi paradigma Utasitasorientalt; az egyes m veletek megismetelhet k; tobbszoros ertekadas; valtozok; alapvet en soros vegrehajtast feltetelez modell ektumorientalt modell ektumorientált (OO) programozási paradigma Adatorientalt; adatok es a rajtuk vegezhet m veletek osszerendelese ka; uzenetaramlas az egyes kozott; a modell nem feltetelez soros vegrehajtast Adatfolyamelv modell Adatfolyamelv programozasi paradigma Adatorientalt (bemen adatokbol kimen adatok); adatok kiertekelese rendelkezesre allaskor Szamitasi modellek es programozasi paradigmak () 00. V.0 szeptember. Programozási megoldások Deklarativ szamitasi modellek ( mit akarunk kiszamitani ) Funkcionalis/applikativ szamitasi modell Funkcionalis programozasi paradigma Fuggvenyek redukcioja automatikus behelyettesitesekkel Pelda (ML programozasi nyelv) Logikai alapu szamitasi modell Logikai programozasi paradigma Egymassal osszefuggesben lev allitasok levezetese (rezolucio) mintaillesztessel es kovetkeztetesekkel Pelda (Prolog programozasi nyelv) Szamitasi modellek es programozasi paradigmak () fun factorial 0 = factorial n = n * factorial(n-) testvér(x,y) :- szül (Z,X), szül (Z,Y). szül (X,Y) :- apa(x,y). szül (X,Y) :- anya(x,y). anya(klára, Jancsi). apa(péter, Jancsi). apa(péter, Ilona). apa(józsef, Péter).?- testvér(jancsi, Ilona) igen. 00. V.0 szeptember. Programozási megoldások A szamitasi modellek, szamitogep-architekturak es programozasi nyelvek osszefuggese Szamitasi modell Programozasi nyelv Szamitogep-architektura Specifikacios eszkoz Megvalositasi eszkoz Vegrehajto eszkoz 00. V.0 szeptember. Programozási megoldások fejl dése Kulonboz szamitasi modelleken alapulo architekturak versenye Neumann-fele szamitasi modell Adatfolyamelv szamitasi modell Funkcionalis/applikativ szamitasi modell Logikai alapu szamitasi modell Elemi m veletek szintjen parhuzamos modellek V.0 szeptember. 0 A Neumann-architektúra A Neumann-architektura alapvet felepitese Adat/utasitas Vezerles ALU Bemenet Kimenet Memoria Vezerles 00. V.0 szeptember. A Neumann-architektúra Utasitasok es adatok tarolasa egy kozos memoriaban Adatok tarolasa nevesitett valtozokban (elkulonitett memoriarekeszek)

2 Nincs kuls megkulonboztetes az utasitas es az adat kozott, csak az aktualis programallapot dont az ertelmezesr l Az utasitasok sorozata a programbol, kuls beavatkozas nelkul is modosithato Folyamatos, ciklikus programvegrehajtas A vegrehajtas a memoria els rekeszet l indul, majd ha elerte a memoria veget, ismet az els rekeszt l folytatodik Felteteles es feltetel nelkuli vezerlesatadas A kovetkez utasitas vegrehajtasa fuggjon az el eredmenyet l Megismetelhet m veletek, ertekadasok Soros, szinkron m kodes A Neumann-architektura f bb jellemz i 00. V.0 szeptember. A Neumann-architektúra Az ENIAC szamitogep () PDF 0. Az objektumorientalt programozasi paradigma V. Internet Komponensalapu rendszerek RAD programozas Online terjesztes Kotegelt rendszerek Egyedi szoftver Nincs terjesztes Tobbfelhasznalos rendszerek Valos idej megoldasok Adatbaziskezeles Szoftvertermekek Elosztott rendszerek Beagyazott rendszerek Olcsobb hardver Hagyomanyos terjesztes Asztali rendszerek Szakert i rendszerek Parhuzamos programozas Neuralis halozatok A szoftverkrízis. A szoftveres megoldasok szerepe folyamatosan er sodik A szoftverek felhasznalasi aranya (meg mindig) igen gyorsan n Kihivasok a szoftverfejlesztes modszereivel szemben V. A szoftverkrízis. A szoftverekkel szembeni elvarasok egyre magasabbak Az elet mind tobb teruleten alkalmazunk szoftveres megoldasokat Tudomany, oktatas, ipar, ugyvitel, bankszektor, allamigazgatas, otthonok... Az olcsobbodo hardver egyre szelesebb retegek szamara elerhet Az atlagos felhasznalo szamitastechnikai ismereteinek szintje rohamosan csokken A hardver teljesitmenye rendkivul gyorsan novekszik A fentiekb l kovetkez en az ar/teljesitmeny arany meg gyorsabban javul Ezzel parhuzamosan a szoftver funkciogazdagsagaval, sebessegevel, kenyelmevel, hasznalhatosagaval kapcsolatos kovetelmenyek folyamatosan emelkednek A szoftver fejl desi uteme egyre jobban lemarad a hardver fejl desi uteme mogott Kihivasok a szoftverfejlesztes modszereivel szemben V. A szoftverkrízis. A szoftver rendkivul jol formalhato nyersanyag Szinte nincsenek fizikai korlatok A szoftver nem fizikai (anyagi) jelleg A szoftver el allitasa alapvet en nem jar kozvetlen fizikai nyersanyagigennyel A szoftver, mint er forras mennyisege nem korlatos (vegtelenul tobbszorozhet ) A szoftvernek alapvet en nem kell alkalmazkodnia kuls korulmenyekhez Viszonylag keves a jogi korlat Ezen a teren igen gyors (es sokszor onkenyes) a valtozas Barmilyen algoritmus es barmilyen adatstruktura elkepzelhet, felepithet, modosithato Kihivasok a szoftverfejlesztes modszereivel szemben V. A szoftverkrízis. A programok min segi bonyolultsaga folyamatosan novekszik A szoftver eredend en osszetett szellemi alkotas Nincsenek, illetve nehezen onthet k formaba jelent sebb ismetl elemek Tervezesi mintak Tudasinverzio A m kodesi allapotok szama rendkivul magas Osszetettebb programok elvi helyessegenek bizonyitasa egyel re nem lehetseges A teljes kor teszteles ezert szinte lehetetlen Rendszeresek es gyakoriak a valtoztatasi igenyek A fejleszt k reszer l (hibajavitas, platformvaltas, fejleszt rendszervaltas...) A felhasznalok reszer l (hibajavitas, uj funkciok, funkcionalis modositasok...) Kihivasok a szoftverfejlesztes modszereivel szemben V. A szoftverkrízis. Az ember attekint kepessege korlatos Teljesen automatizalt szoftverel allitasra egyel re nincs mod A bonyolultsag ujra es ujra kezelhetetlenul magas szintet er el A szoftverhibak kovetkezmenyei egyre sulyosabbak lehetnek Kihivasok a szoftverfejlesztes modszereivel szemben Folyamatosan uj megoldasokra van szukseg az egyre novekv absztrakcios szint es bonyolultsag eredmenyes, hatekony es biztonsagos kezelesehez V. Procedurális/strukturált program A problemat az algoritmus (a kód) oldalarol kozeliti meg A szukseges funkciok meghatarozasa (funkcionalis dekompozicio) A programvegrehajtas (vezerles) pontos menetenek leirasa A funkciok szamara szukseges adatstrukturak meghatarozasa A problema megoldasat a funkciok egymas utan, a megfelel sorrendben torten vegrehajtasa adja meg Jellemz k: A fuggvenyek definicioja hatarozza meg a program szerkezetet Globalis adatstrukturak Egy un. f program fogja ossze, amely fuggvenyeket hiv meg A f program komoly szerepet jatszik es gyakran igen bonyolult A vegrehajtas menetet szigoruan megszabja a megirt programkod Definicio es jellemz k V. Procedurális/strukturált program Tipikus felepites program Almodul Almodul Almodul Almodul Almodul Almodul Almodul V.

3 ektumorientált program A problemat az adatok oldalarol kozeliti meg A szukseges absztrakt rendszerelemek meghatarozasa A fenti rendszerelemek adatainak es (az adatokkal vegezhet ) absztrakt m veleteinek meghatarozasa, majd ezek osszerendelese Ezzel csoportokba ( tipusokba ) soroljuk az egyes elemeket A problema megoldasat az egyes kozotti kommunikacio, az egyes m veletek allapotvaltozasoktol fugg vegrehajtasa adja meg Az kapcsolodasi felulettel rendelkeznek, melynek segitsegevel uzeneteket valtanak egymassal Jellemz k: Az egyes magukban foglaljak az algoritmusokat Minden objektum a problema egy reszet irja le es magaban foglalja a reszfeladat megoldasahoz tartozo algoritmikus elemeket A f program jelent sege igen csekely Gyakorlatilag csak inditasi pontkent szolgal, lenyegi funkciot altalaban nem lat el Definicio es jellemz k 0 V. 0 ektumorientált program Tipikus felepites V. Meghatarozzuk a szoftverrendszer absztrakt elemeit Meghatarozzuk az elemek allapotteret Adatelemek Meghatarozzuk az elemek viselkedesmodjat Funkciok vegrehajtasa Allapotvaltoztatasok Meghatarozzuk az elemek kozotti kapcsolattartas feluleteit es protokolljat Uzenetvaltasok tipusa Pontosan definialt, megbizhato kapcsolodasi feluletek...mindezt a megvalositas konkret reszleteinek ismerete nelkul.. alapelv: Absztrakció V. Az adatait es a rajtuk vegezhet m veleteket szoros egysegbe zarjuk Az adatok csak a definialt m veletek segitsegevel erhet k el Mas m veletek nem vegezhet k az on Az egysegbezaras vedi az adatokat a teves modositasoktol. alapelv: Egységbezárás V. Az absztrakciok megvalositasanak reszleteit elrejtjuk a kulvilag el l Az on belul elkulonitjuk a bels (privat) es a kuls (nyilvanos) adatokat es m veleteket A privat adatok es m veletek a konkret megvalositashoz szuksegesek A nyilvanos adatok es m veletek a szoftverrendszer tobbi objektuma szamara (is) elerhet k Tajekozodas az objektum allapotarol Az objektum allapotanak modositasa Uzenetvaltas. alapelv: Adatrejtés V. A mar meglev objektumtipusok alapjan keszithetunk uj tipusokat, melyek rendelkeznek az stipus tulajdonsagaival Ez egy specializacios m velet ( szarmaztatas ) A leszarmazottak oroklik az stipus tulajdonsagait A leszarmazottak b vithetik, esetenkent akar sz kithetik az stipus allapotteret, illetve m veleteit Teljes leszarmazasi hierarchiakat is letrehozhatunk Kivalo lehet seg a kozos tulajdonsagok, m veletek osszevonasara es ujrahasznositasara Az alapelv kovetkezetes alkalmazasaval elerhet, hogy a mar megvalositott funkcionalitas kes bb a megvalositas reszleteinek ismerete nelkul is felhasznalhato legyen Jol atgondolt el zetes tervezest igenyel. alapelv: Öröklés V. A kulonboz, egymasbol szarmazo objektumtipusok hasonlo veletei a konkret objektumtol fugg en mas-mas konkret megvalositassal rendelkezhetnek Ugyanaz a m velet nemileg elter lehet az stipus es a leszarmazott tipus eseteben Az alapelv lehet seget teremt ra, hogy azonos nevvel hivatkozzunk az azonos celu, de a leszarmazasi hierarchia kulonboz szintjein masmas megvalositast kivano m veletekre Az egyes stipusok leszarmazottai mindenre alkalmasak, amire az adott stipus alkalmas volt Minden olyan helyzetben es funkcioban, ahol az stipus szerepelhet, annak barmely leszarmazottja is szerepelhet. alapelv: Többalakúság V. A mar megvalositott objektumtipusokat kesz (binaris) formaban mas programokban is felhasznalhatjuk Jo tervezes es dokumentalas eseten az nyilvanos adatai es veletei elegend ek a kes bbi felhasznalashoz Szintaktikai b vitesekkel (pl. tulajdonsagok, esemenyek ) kenyelmesebbe tehet a kuls felhasznalas Az egyes objektumtipusokat egymasba agyazva osszetettebb tipusokat hozhatunk letre A kesz, ujrafelhasznalhato objektumtipusokat csoportokba fogva akar nagyobb szoftver-epit elemeket (komponenseket es komponensgy jtemenyeket) is letrehozhatunk A korabban emlitett alapelvekre epitve a kodujrafelhasznalas lehet sege jelenti az igazi attorest a szoftvertechnologiaban. alapelv: Kódújrafelhasználás PDF 0. Az objektumorientalt paradigma alapelemei ektum Osztaly Peldanyositas A konstruktor es a destruktor Osztalyok kozotti kapcsolatok

4 V. ektum Az objektum allapottal rendelkez entitas, amely a benne tarolt adatok felhasznalasaval feladatokat hajt vegre es egyeb kal kommunikal Adatokat es algoritmusokat tartalmaz Sajat feladatait onalloan vegzi Sajat eletciklussal rendelkezik A kulvilaggal meghatarozott uzeneteken keresztul tartja a kapcsolatot Az objektum sajat adatait mez knek, beepitett algoritmusait metodusoknak nevezzuk Az metodusaikkal vesznek reszt az uzenetvaltasokban Az uzenetek elemei: celobjektum, metodus, parameterek, eredmeny Definicio V. ektum Az objektum allapotat mez i aktualis erteke hatarozza meg Az objektum allapota az elvegzett m veletek hatasara megvaltozhat Ket objektum allapota akkor egyezik meg, ha minden megfelel mez ertekuk megegyezik Az objektum mindig megjegyzi aktualis allapotat Az objektum viselkedeset az altala ismert (az objektumba epitett) algoritmusok hatarozzak meg Minden objektum egyertelm en azonosithato Az onalloak (sajat eletciklusuk hatarozza meg ket) Ha ket objektum allapota megegyezik, maguk az akkor sem azonosak Allapotok, viselkedes es azonossag V. Osztály Az osztaly egy adott objektumtipust hataroz meg annak adataival (mez k) es beepitett algoritmusaival (metodusok) Az osztalyok egyfajta mintat, sablont adnak az hoz Az osztalyok tehat azonos adatszerkezet es viselkedes at irnak le Minden objektum valamilyen letez osztalyba tartozik Mas kifejezessel elve az egyes azon osztalyok peldanyai, amelyekhez tartoznak Egy osztalybol tobb peldany is letrehozhato Egy osztaly osszes peldanya ugyanazokat a mez ket es metodusokat tartalmazza Az egyes peldanyok letrehozasuk pillanataban azonos allapotuak, ezt kovet en viszont onalloan m kodnek tovabb Leteznek az osztalyra (es nem az egyes objektumpeldanyokra) jellemz mez k es metodusok is Definicio V. Osztály Pelda: az Auto osztaly es ket peldanya (UML) Auto Gyarto Tipus Rendszam Beindul() Leall() Megy() Fordul() Szerviz() EgyikKocsi : Auto Suzuki Ignis WD MT KQX- MasikKocsi : Auto Lamborghini Murcielago LP0 KQX- Mez definiciok Metodusdefiniciok Osztaly (tipus) ektum (peldany) ektum (peldany) Mez ertekek Mez ertekek EgyikKocsi.Beindul(); EgyikKocsi.Megy(); MásikKocsi.Beindul(); Peldanyositas Peldanyositas V. ektumorientált szoftverciklus ektumorientalt elemzes (OOA) A megoldando feladat leirasa osztalyok es segitsegevel ektumorientalt tervezes (OOD) A feladatleiras objektumkozpontu reszekre bontasa (dekompozicioja) Logikai modell az osztalyok es Fizikai modell a logikai modellt megvalosito modulok es folyamatok Statikus es dinamikus jellemz k ektumorientalt programozas (OOP) A modell megvalositasa egymassal kommunikalo, dinamikusan letrehozott segitsegevel, melyek egy-egy osztaly peldanyai OO stilusu programokat barmilyen nem OO nyelven is lehet irni, csak nagyon nehez Reszletesebb, pontosabb informaciok kes bb (a szoftvertechnologiaval foglalkozo tantargyak kereteben) Elemzes, tervezes, megvalositas V. Metódusok általános típusai Ahhoz, hogy az at hasznalhassuk, el szor letre kell hozni ket Ez a m velet a peldanyositas Alapja az osztaly megadott definicioja A peldanyositast kovet en erhet k el az metodusai es ekkortol erhet el az mez inek erteke A konstruktor egy olyan metodus, amelynek segitsegevel peldanyok () hozhatok letre egy osztalybol Feladatai: Uj objektum letrehozasa Az objektumhoz tartozo mez k kivant kezd ertekenek beallitasa Egyeb szukseges kezdeti m veletek vegrehajtasa Minden osztalyhoz tartoznia kell konstruktornak Ha kulon nem definialunk konstruktort, akkor is letrejon ektumok letrehozasa (peldanyositas): konstruktor V. Metódusok általános típusai Az at az utolso hasznalat utan fel kell szamolni Minden objektum kulon-kulon szuntethet meg (onalloan leteznek) A destruktor egy olyan metodus, melynek segitsegevel letez szuntethet k meg Egyetlen feladata az objektum megszuntetese Az felszamolasa lehet a programozo feladata vagy tortenhet automatikusan is

5 Egy objektum akkor szamolhato fel automatikusan, ha a kes bbiekben mar biztosan nincs ra szukseg Az automatikus felszamolas fejlettebb es joval kevesbe hibaerzekeny megoldas Automatikus felszamolas eseten nincs feltetlenul szukseg destruktorra ektumok megszuntetese (felszamolas): destruktor V. Metódusok általános típusai Modosito metodusok Megvaltoztatjak az objektum allapotat Kivalaszto metodusok Hozzaferest biztosit az objektum adataihoz, de nem valtoztatjak meg ket (igy az objektum allapotat sem) Iteracios metodusok Az objektum adatainak valamely reszhalmazan lepkednek vegig, es az adott reszhalmazra vonatkozoan vegeznek el m veleteket Modosito, kivalaszto es iteracios metodusok 0 V. 0 Egy osztaly leszarmazottai oroklik az osztaly jellemz it Rendelkeznek ugyanazokkal a mez kkel Tartalmazzak ugyanazokat a metodusokat Ebben a specializacios kapcsolatban a leszarmazottat utodnak, az eredeti osztalyt sosztalynak nevezzuk A leszarmazottak b vithetik az sosztaly adatait es algoritmusait Uj mez ket adhatnak a meglev khoz Uj metodusokat definialhatnak Meglev metodusok m kodeset modosithatjak A leszarmazottak minden m veletre kepesek, amelyre az sosztaly kepes volt Az utodosztaly peldanyai hasznalhatok az sosztaly peldanyai helyett. Leszarmazas (un. IS-A kapcsolat) V. Pelda: leszarmazas (UML) Auto Meghajtas Rendszam Beindul() Leall() Halad() Fordul() Hajo Merules Hivokod Beindul() Leall() Halad() Elsullyed() Repul Szarnyfesztav Hatotavolsag Felszall() Halad() Leszall() Jarm Gyarto Gyartas ideje Tipus Tulajdonos Beindul() Leall() Halad() Szerviz() Leszarmazas V. Az asszociacio osztalyok kozotti tetsz leges tipusu viszony Altalaban az asszociacio konkret elnevezese fejezi ki a viszonyt Szerep (pl. az ember az auto tulajdonosa) Cselekves (pl. az ember vezeti az autot) Multiplicitas: vannak egy-egy, egy-tobb es tobb-tobb tipusu asszociaciok Iranyultsag: az asszociacio lehet egy- vagy ketiranyu Asszociacios kapcsolat all fenn ket osztaly kozott, ha az egyiknek a sajat helyes m kodesehez ismernie kell a masikat Pelda: egy osztaly hasznal egy masik osztalyt (un. USES-A kapcsolat). Asszociacio V. Pelda: asszociacio (UML) Hallgato Iskola tanul 0..* Leckekonyv birtokol Oktato 0..* alkalmaz oran vesz reszt Asszociacio V. Az aggregacio az asszociacio specialis esete: tartalmazasi kapcsolat A kapcsolat aszimmetrikus es tranzitiv A tartalmazo osztaly peldanyai magukban foglaljak a tartalmazott osztaly egy vagy tobb peldanyat A tartalmazo es a tartalmazott osztaly egymastol fuggetlenul letezhetnek A tartalmazott atveheti (de nem orokli) a tartalmazo egyes jellemz it A kompozicio az aggregacio specialis esete: szigoru tartalmazasi kapcsolat Egy tartalmazottnak mindig csak egy tartalmazoja lehet Egy tartalmazo viszont tetsz leges szamu tartalmazott peldannyal rendelkezhet A tartalmazo es a tartalmazott eletciklusa kozos. Aggregacio es kompozicio (un. HAS-A kapcsolat) Pelda: aggregacio es kompozicio (UML) Képen: Windows képnyomtatási ablak Az OOP néhány csapdája Mire kell ugyelni az osztalyok kialakitasanal? Rossz dontes az osztalyok kozotti kapcsolat tipusanak megvalasztasanal Pl. leszarmazas helyett aggregacio vagy forditva Leszarmazasi kapcsolat helytelen kialakitasa Az sosztaly tul keveset vagy tul sokat tud Onkentelenul (nem lathato modon) beepitett feltetelezesek Az sosztaly feltetelez bizonyos allapotvaltozasokat, a metodusok

6 vegrehajtasi sorrendjet ez nem biztos, hogy a leszarmazottaknal is igaz lesz Felduzzasztott osztalyok A tul sok mez es metodus, a tul hosszu metodusok azt jelezhetik, hogy valamilyen modon fel kell bontani az osztalyt Elnevezesi anomaliak PDF 0. Egysegbezaras, adatrejtes Nevterek Lathatosagi szintek Osztaly es peldany szint tagok Tulajdonsagok V. 00. oktober. Egységbezárás Az adatait es a rajtuk vegezhet m veleteket szoros egysegbe zarjuk Az adatok csak a definialt m veletek segitsegevel erhet k el Mas m veletek nem vegezhet k az on Az egysegbezaras vedi az adatokat a teves modositasoktol Definicio (ismetles) V. 00. oktober. Adatrejtés Az absztrakciok megvalositasanak reszleteit elrejtjuk a kulvilag el l Az on belul elkulonitjuk a bels (privat) es a kuls (nyilvanos) adatokat es m veleteket A privat adatok es m veletek csak a megvalositashoz szuksegesek A nyilvanos adatok es m veletek a szoftverrendszer tobbi objektuma szamara (is) elerhet k Tajekozodas az objektum allapotarol Az objektum allapotanak modositasa Uzenetvaltas Definicio (ismetles) V. 00. oktober. Névterek Az OO paradigma jellemz je az elnevezesek oriasi szama Minden osztalynak, objektumnak, mez nek, metodusnak egyedi nevet kell adni, hogy a kes bbiekben hivatkozni lehessen ra Nem konny jol megjegyezhet, a celt kes bb is felidez neveket adni A programok meretevel egyenes aranyban n a nevutkozesek valoszin sege A programok altalaban nem csak sajat osztalyokat hasznalnak fel A névtér, mint az elnevezesek ervenyessegenek tartomanya, hierarchikus logikai csoportokra bontja az elnevezeseket Minden elnevezesre csak a sajat nevteren belul lehet hivatkozni Ennek megfelel en a sajat nevteren belul minden elnevezes egyedi A nevterek altalaban tetsz leges melysegben egymasba agyazhatok Azonos elnevezesek mas-mas nevtereken belul szabadon hasznalhatok, igy er sen lecsokken a nevutkozesi problema jelent sege V. 00. oktober. Névterek Pelda Ceg Termek Funkcio Funkcio Kiiro Feldolgozo Kiiro Szintaktikai variaciok nevterre: Cég.Termék.Funkció.Kiíró Cég.Termék.Funkció.Kiíró Cég.Termék.Funkció.Feldolgozó Cég/Termék/Funkció/Kiíró Cég/Termék/Funkció/Kiíró Cég/Termék/Funkció/Feldolgozó Nevterpotlek technika: Cég_Termék_Funkció_Kiíró Cég_Termék_Funkció_Kiíró Cég_Termék_Funkció_Feldolgozó V. 00. oktober. Láthatósági szintek A lathatosagi szintek segitsegevel kulonitjuk el az osztaly bels, illetve kivulr l is elerhet tagjait Az egyes mez k es metodusok lathatosaga kulon-kulon szabalyozhato Alapvet lathatosagi szintek: Nyilvanos (public) Az adott tagot az osztaly sajat metodusai, az osztaly leszarmazottainak metodusai es az osztalyt hasznalo mas osztalyok metodusai hasznalhatjak Ezzel a szinttel valosul meg az osztaly kulvilag szamara lathato felulete Vedett (protected) Az adott tagot az osztaly sajat metodusai es az osztaly leszarmazottainak metodusai hasznalhatjak Ez a szint a leszarmazottak szamara tesz elerhet ve bizonyos funkciokat Privat (private) Az adott tagot csak az osztaly sajat metodusai hasznalhatjak Ezzel a szinttel valosul meg az osztaly szigoruan bels jelleg funkcionalitasa Mez k es metodusok vedelme V. 00. oktober. Láthatósági szintek A lathatosagi szintek segitsegevel hatekonyan, biztonsagosan (adatrejtessel egyutt) valosithato meg az egysegbezaras Az osztalyok a kivulr l is lathato elemeiket bocsatjak mas osztalyok rendelkezesere A nyilvanos mez k adatokat, a nyilvanos metodusok m veleteket tesznek elerhet ve Az egyes osztalyok megvalositasi reszletei modosithatok anelkul, hogy az osztalyt hasznalo mas osztalyoknak err l tudniuk kellene A megvalositast vegz algoritmusok nincsenek kihatassal az osztalyt hasznalo kodra Konkret OO nyelvi megvalositasokban altalaban tovabbi lathatosagi szintek is leteznek Osszegzes V. 00. oktober. Példány szint tagok A peldany szint tagok a peldanyositott sajat adatmez i, valamint sajat adatain m veleteket vegz metodusai. A peldany szint mez k taroljak a peldanyok allapotat Az egyes metodusok programkodjat altalaban nem tartalmazza kulon-kulon az osztaly minden peldanya A metodusok minden peldanynal azonosak es nem modosithatok, ezert a metodusok programkodjat az osztalyon belul szokas tarolni Szukseg lehet azonban arra, hogy a peldany szint metodusok hivatkozni tudjanak arra az objektumra, amelyen a m veletet vegzik Pelda: atadas parameterkent vagy eredmenykent; elnevezesek egyertelm sitese

7 Ezt altalaban egy rejtett parameterrel valositjak meg Megnevezese nyelvi megvalositasonkent valtozik ( this, Self, Me...) Mindig minden peldanymetodusbol elerhet, erteke a peldany maga ektumokhoz tartozo mez k es metodusok V. 00. oktober. Osztály szint tagok Az osztaly szint tagok az egyes osztalyokhoz tartozo egyedi adatmez k, valamint az ezeken m veleteket vegz metodusok. Osztaly szint adatmez k Minden osztaly pontosan egyet tartalmaz bel luk, fuggetlenul az osztalybol letrehozott objektumpeldanyok szamatol Osztaly szint metodusok Akkor is elerhet k, ha az osztalybol egyetlenegy peldany sem letezik Csak osztaly szint adatmez ket hasznalhatnak Specialis osztaly szint metodus az osztaly szint konstruktor Feladata az osztaly szint adatmez k kezd ertekenek beallitasa Altalaban az osztalyra torten els hivatkozas el tt fut le automatikusan Konkret peldanyt nem igenyl feladatok vegrehajtasara is alkalmasak Pelda: f program megvalositasa Osztalyokhoz tartozo mez k es metodusok 0 V. 00. oktober. 0 Osztály és példány szint tagok Osszehasonlito tablazat Osztalyonkent egyegy peldany (van konkret objektum, amelyen m kodnek) Osztalyonkent egyegy peldany (nincs konkret objektum, amelyen m kodnek) Metodusok (funkciotagok) Minden egyes objektumhoz sajat peldany Egyetlen, az osztalyhoz tartozo peldany Mez k (adattagok) Peldany (objektum) szint tagok Osztaly szint tagok V. 00. oktober. Tulajdonságok Intelligens mez k egy szintaktikai cukorka A tulajdonsag olyan nyelvi elem, amely felhasznalas szempontjabol adatmez kent, megvalositas szempontjabol metoduskent viselkedik Az adott osztaly felhasznaloi mez nek latjak a tulajdonsagot A kulvilag mez kent hivatkozhat a tulajdonsagra A tulajdonsagot megvalosito osztaly kulon-kulon metodust rendelhet a tulajdonsag olvasasi es irasi m veletehez Olvasaskor a megfelel metodus egy valodi (altalaban privat) mez erteket is visszaadhatja, de akar szamitassal is el allithatja a visszaadott erteket Iraskor a megfelel metodus egy valodi (altalaban privat) mez erteket is modosithatja, de vegezhet egyeb m veleteket is vagy akar modositas el tt ellen rizheti az atadott erteket A tulajdonsag tehat felfoghato intelligens mez kent A tulajdonsagok a mez khoz es a metodusokhoz hasonloan kulonboz lathatosagi szintekhez sorolhatok PDF 0. Orokles Bevezet Definicio, terminologia Tobbszoros orokles Specialis metodusok orokl dese V oktober. Öröklés A mar meglev objektumtipusok alapjan keszithetunk uj tipusokat, melyek rendelkeznek az stipus tulajdonsagaival Ez egy specializacios m velet ( szarmaztatas ) A leszarmazottak oroklik az stipus tulajdonsagait A leszarmazottak b vithetik, esetenkent akar sz kithetik az stipus allapotteret, illetve m veleteit Teljes leszarmazasi hierarchiakat is letrehozhatunk Kivalo lehet seg a kozos tulajdonsagok, m veletek osszevonasara es ujrahasznositasara Az alapelv kovetkezetes alkalmazasaval elerhet, hogy a mar megvalositott funkcionalitas kes bb a megvalositas reszleteinek ismerete nelkul is felhasznalhato legyen Jol atgondolt el zetes tervezest igenyel Definicio (ismetles) V oktober. Öröklés. pelda Geometriai alakzatok kezelese Alakzat Pozicio Iranyszog Mozgat() Forgat() Kirajzol() Teglalap Kirajzol() Ellipszis Kirajzol() Kor Kirajzol() A leszarmazottak ugyanazt a funkciot biztositjak kulonboz, rajuk jellemz megvalositasban V oktober. Öröklés. pelda Jarm vek osztalyozasa Jarm Sebesseg Gyorsit() Lassit() Foldi jarm Vizijarm Uszik() Legi jarm Repul() Auto Kamion Csonak Hajo Tolat() Repul Raketa A leszarmazottak mind rendelkeznek seik osszes adatmez jevel es metodusaval A leszarmazottak vithetik is az orokolt funkciok koret

8 V oktober. Öröklés A leszarmazottak tenyleges felepitese Csonak <Jarm mez i> <Vizijarm mez i> Sajat mez k <Jarm metodusai> <Vizijarm metodusai> Sajat metodusok Csonak Vizijarm Jarm V oktober. Öröklés Terminologia Peldany szint tag Mez vagy metodus Osztaly szint tag Statikus mez vagy statikus metodus Funkciotag Metodus / tagfuggveny Adattag Adatmez / mez / tagvaltozo Leszarmazott A szarmazasi fa alacsonyabb szint eleme s A szarmazasi fa magasabb szint eleme Az osztalyhierarchiaban egy szinttel magasabban lev osztaly Kozvetlen s Egymasbol leszarmazo osztalyok hierarchikus rendszere ( szarmazasi fa ) Osztalyhierarchia Kifejezes Jelentese, szinonimai V oktober. Többszörös öröklés Tobbszoros orokles eseten egy osztalynak tobb se van Ez egy sokat vitatott lehet seg nehany OOP megvalositasban El nyok: Egyszerre tobb sosztaly kepessegei orokolhet k Tobb szarmaztatasi szempont ervenyesithet egyszerre Tobb s tulajdonsagait otvoz vegyes osztalytipusok Nagyobb rendszereknel gyakran felmerul az igeny ra Hatranyok: Igen nehez megvalositani Komoly megvalositasi problemak: adatmez k oroklese, kozos kozvetett sok (leszarmazas tobb utvonalon) Nagyobb rendszereknel szinte lehetetlen jol, kovetkezetesen megvalositani Bonyolult Bonyolitja a programozasi nyelv eszkozeit, a programok tervezeset Orokles egynel tobb sosztallyal V oktober. Többszörös öröklés Problémák Adatmez k oroklese, leszarmazas tobb utvonalon Dolgozo Feln tt Gyermek Szemely Ferfi N Diak Beosztott Vezet Hallgato Tegyuk fel, hogy a Dolgozo osztalynak es a Ferfi osztalynak is van egy Szakma mez je. A Hallgato melyiket orokolje? Tegyuk fel, hogy a Szemely osztalynak van egy Tanul() nev metodusa, amelynek a viselkedeset a Diak osztaly es a Feln tt osztaly is modositja. A Hallgato.Tanul() hivas melyiket hasznalja? V oktober. Speciális metódusok örökl dése A konstruktorok es destruktorok nem feltetlenul orokl dnek Az letrehozasakor vegre kell hajtani minden egyes s valamelyik konstruktorat is Ez szinten resze a konstruktorok alapvet feladatkorenek Hivasi sorrend A konstruktorok leszarmazas szerinti sorrendben hajtodnak vegre El szor az sok adatait kell inicializalni, hiszen a leszarmazottak ezeket akar mar a sajat konstruktorukban is fel kivanhatjak hasznalni A destruktorok leszarmazas szerinti forditott sorrendben hajtodnak vegre El szor az utodok esetleges bels objektumait kell felszamolni, hiszen az utodok destruktora meg hivatkozhat az sok bels objektumaira Konstruktorok es destruktorok PDF 0. Tobbalakusag Bevezet Adatmez k tobbalakusaga Nemvirtualis metodusok Virtualis metodusok Absztrakt metodusok, absztrakt osztalyok Lezart metodusok, lezart osztalyok Interfeszek V oktober. Többalakúság A kulonboz, egymasbol szarmazo objektumtipusok hasonlo veletei a konkret objektumtol fugg en mas-mas konkret megvalositassal rendelkezhetnek Ugyanaz a m velet nemileg elter lehet az stipus es a leszarmazott tipus eseteben Az alapelv lehet seget teremt ra, hogy azonos nevvel hivatkozzunk az azonos celu, de a leszarmazasi hierarchia kulonboz szintjein masmas megvalositast kivano m veletekre Az egyes stipusok leszarmazottai mindenre alkalmasak, amire az adott stipus alkalmas volt Minden olyan helyzetben es funkcioban, ahol az stipus szerepelhet, annak barmely leszarmazottja is szerepelhet Definicio (ismetles) V oktober. Adatmez k többalakúsága Az orokolt mez k a leszarmazottakban is elerhet k Az elerest az adott mez hozzaferesi szintje szabalyozza Orokles soran a mez k statikusan viselkednek A mez k jellemz i (viselkedesuk, tipusuk, meretuk, nevuk) nem valtoztathatok meg orokles utjan Minden leszarmazott tartalmazza minden korabbi s osszes mez jet, emellett tetsz legesen b vitheti is a mez k koret A mez k ennelfogva (a mai OO programnyelvekben) nem kepesek tobbalaku viselkedesre V oktober. Nemvirtuális metódusok A nemvirtualis metodusok a leszarmazottakban is elerhet k Az elerest az adott metodus hozzaferesi szintje szabalyozza

9 Orokles soran a nemvirtualis metodusok viselkedese korlatozottan modosithato A nemvirtualis metodusok a leszarmazottakban ujra deklaralhatok Viselkedesuk mar a program leforditasakor eld l, attol fugg en, hogy az adott metodust milyen kontextusban hasznaljuk Az oroklesnek tehat itt minimalis szerepe van Lenyegeben egy azonos nev metodust keszitettunk a leszarmazottban, aminek nincs kapcsolata az s azonos nev metodusaval Altalaban van lehet seg az sosztaly azonos nev metodusanak eleresere a leszarmazottbol is, igy manualisan korlatozott kapcsolat teremthet A nemvirtualis metodusok nem alkalmasak tobbalakusag megvalositasara veletek statikus jelleg megvalositasa V oktober. Nemvirtuális metódusok Nemvirtualis metodus hivasakor az adott objektum deklaralt tipusanak megfelel osztaly adott nev metodusa hivodik meg Az at a programon belul tagvaltozokban taroljuk A tagvaltozok deklaralt tipusa valasztja ki a hivando nemvirtualis metodust Ez az informacio mar forditaskor ismert, igy a forditoprogram el re elkeszitheti a hivast megvalosito gepi kodot (statikus kotes) El nyok: Egyszer megvalositas; nincs futasi idej teljesitmenyveszteseg Hatranyok: Nem alkalmasak tobbalakusag megvalositasara A statikus (forditasi idej vagy korai ) kotes V oktober. Virtuális metódusok A virtualis metodusok a leszarmazottakban is elerhet k Az elerest az adott metodus hozzaferesi szintje szabalyozza Orokles soran a nemvirtualis metodusok viselkedese szabadon modosithato A virtualis metodusok a leszarmazottakban felulbiralhatok Viselkedesuk attol fugg en valtozik, hogy az adott m veletet vegrehajto konkret objektum milyen tipusu (mely osztaly peldanya) A tenylegesen vegrehajtando m velet kivalasztasa tehat futasi id ben tortenik A virtualis metodusok a tobbalakusag megvalositasanak legf bb eszkozei A virtualis metodus fogalma az objektumorientalt programozasi paradigma egyik legfontosabb eleme veletek dinamikus jelleg megvalositasa V oktober. Virtuális metódusok Virtualis metodus hivasakor az adott objektum tenyleges tipusanak megfelel osztaly adott nev metodusa hivodik meg A tagvaltozok tartalma nemcsak a deklaralt osztaly lehet, hanem annak osszes leszarmazottja is Csak a hivas pillanataban derul ki, hogy a tagvaltozo tenylegesen mely osztaly egy peldanyat tartalmazza A metodushivast tehat futasi id ben kell el kesziteni El nyok: Tobbalakusag; rendkivuli rugalmassag Hatranyok: Teljesitmenyveszteseg; nagyobb tarigeny; bonyolultabb megvalositas A dinamikus (futasi idej vagy kes i ) kotes V oktober. Alakzat.Mozgat() Alakzat.Forgat() Kor.Kirajzol() VMT Alakzat.Mozgat() Alakzat.Forgat() Ellipszis.Kirajzol() VMT Alakzat.Mozgat() Alakzat.Forgat() Alakzat.Kirajzol() VMT Virtuális metódusok Megvalositas A virtualismetodus-tabla (VMT) Alakzat +Mozgat() +Forgat() +Kirajzol() Ellipszis +Kirajzol() Kör +Kirajzol() E : Ellipszis K : Kor Alakzat A; Alakzat E = new Ellipszis(); Alakzat K = new Kör(); A = K; A.Kirajzol(); // Kör A = E; A.Kirajzol(); // Ellipszis E A K V oktober. Absztrakt osztályok Absztrakt osztaly: legalabb egy absztrakt metodust tartalmazo osztaly Absztrakt metodus: deklaralt, de (altalaban) meg nem valositott virtualis metodus, amelyet az t tartalmazo osztaly valamennyi leszarmazottja koteles un. felulbiralassal megvalositani Az absztrakt osztalyok nem peldanyosithatok Celjuk az orokles kikenyszeritese, nem a tenyleges megvalositas Segitsegukkel altalanos funkcionalitas irhato el az oroklesi hierarchia fels bb szintjein Mivel az absztrakt metodusokat kotelez megvalositani, ezek funkciojara a leszarmazott osztalyokat felhasznalo egyeb osztalyok biztosan szamithatnak Az orokles kotelez ve tetele 0 V oktober. 0 Lezárt osztályok A lezart osztalyok es lezart metodusok lehet seget adnak az orokles eseti jelleg megakadalyozasara Veglegesnek szant osztalyok, illetve metodusok eseten lehet celszer alkalmazni ezt a megoldast Csak osztalyszint tagokat tartalmazo osztalyok Biztonsagi es gyakorlati megfontolasok (hatekonysag, tamogatas, jogvedelem) Lehet seget adnak a teljesitmeny bizonyos optimalizalasara Feltetelezhet, hogy az osztaly minden tarolt peldanya pontosan megegyez adatszerkezettel es viselkedessel rendelkezik Mivel nincsenek leszarmazottak, nincs tobbalakusag sem A lezart osztalyok virtualis metodusai nemvirtualissa alakithatok Er s korlatozast jelentenek a fejlesztes soran Hasznalatuk alapos megfontolast igenyel Az orokles (es ezzel a tobbalakusag) megakadalyozasa V oktober. Interfészek Az interfeszek olyan ures osztalyok, amelyek nem tartalmaznak megvalositast Altalaban metodusokat tartalmaznak, de mez ket nem Egyeb, metodusokhoz kot nyelvi konstrukciokat (tulajdonsagok, esemenyek) szinten tartalmazhatnak Egy osztaly akkor tamogat egy interfeszt, ha kotelez en vallalja, hogy megvalositja a benne foglalt funkcionalitast Egy osztaly altalaban tetsz leges szamu interfeszt tamogathat

10 Az interfesz-fogalom un. CAN-DO kapcsolatot valosit meg Sajat, kulonallo (az osztalyhierarchiatol fuggetlen) oroklesi hierarchiaval rendelkeznek Interfesz tipusu valtozok segitsegevel azonos viselkedes, de mas jelleg osztalyok hasznalhatok azonos kontextusban Adott funkcionalitas el irasa orokles helyett V oktober. Interfészek Osztalyok onkent vallalt megvalositasi kotelezettsegei IDolgozó Feln tt Személy Férfi IDiák ITancos IDiak +Dolgozik() +Dolgozik() +Jegyzetel() +Tanul() +Vizsgazik() ITáncos +Tangozik() +Kering zik() Hallgató Az osztalyoktol es egymastol fuggetlen Tobb interfeszt interfesz-hierarchiak tamogato osztaly +Tangozik() +Kering zik() +Dolgozik() +Jegyzetel() +Tanul() +Vizsgazik() Osztalyhierarchia Tamogatott Interfeszek PDF 0. Kodujrafelhasznalas (roviditett vazlat) Bevezet Kepvisel k (delegaltak) Esemenyek Komponensek 00. V0. szeptember. Kódújrafelhasználás A mar megvalositott objektumtipusokat kesz (binaris) formaban mas programokban is felhasznalhatjuk Jo tervezes es dokumentalas eseten az nyilvanos adatai es veletei elegend ek a kes bbi felhasznalashoz Szintaktikai b vitesekkel (pl. tulajdonsagok, esemenyek ) kenyelmesebbe tehet a kuls felhasznalas Az egyes objektumtipusokat egymasba agyazva osszetettebb tipusokat hozhatunk letre A kesz, ujrafelhasznalhato objektumtipusokat csoportokba fogva akar nagyobb szoftver-epit elemeket (komponenseket) is letrehozhatunk A fenti alapelvekre epitve ez az alapelv jelenti az igazi attorest a szoftvertechnologiaban 0 Definicio (ismetles) 00. V0. szeptember. Képvisel k (delegáltak) A képvisel (delegalt) olyan specialis nyelvi elem, melynek segitsegevel egy osztalyhoz kuls osztalyok utolag is kapcsolodni tudnak A kepvisel el irja az uzenetek formatumat A kuls osztaly tetsz leges lehet, a kepvisel n keresztuli kommunikacio egyetlen feltetele a formatum betartasa Lehet ve teszik, hogy egy osztaly metodusai kuls osztalyok metodusait ismeretlenul is meg tudjak hivni Uzenetkuldesi funkcio kuls osztalyok reszere Ezzel lehet ve valik, hogy egy osztaly kepes legyen metodusokat meghivni olyan egyeb osztalyokbol, amelyek meg nem is leteznek Univerzalis visszahivasi funkcio megvalositasa Ertesitesi funkcio megvalositasa Kapcsolodas kuls (akar meg nem letez ) osztalyokhoz 00. V0. szeptember. Események Az esemeny olyan allapotvaltozas, amelynek bekovetkezese mas osztalyok erdekl desere tarthat szamot Szinten eseménynek nevezzuk azt a nyelvi elemet, melynek segitsegevel megvalosul a kuls osztalyok ertesitese Az ertesitesi folyamat altalanos menete: Az esemeny irant erdekl osztaly feliratkozik az esemenyt kozzetev osztalynal A feliratkozas soran az osztaly meghatarozott formatumu sajat esemenykezel t ad at a kozzetev osztalynak A kozzetev osztaly valamely metodusaban kivaltodik az esemeny Err l az esemenyr l az osztaly metodushivas (a megadott esemenykezel hivasa) utjan ertesiti a feliratkozott osztalyt ektumorientalt megvalositasa kepvisel vel tortenhet Egy esemenyre altalaban akar tobb osztaly is feliratkozhat Legnagyobb szerepe az esemenyvezerelt programozasban es komponensek kialakitasanal van Erdekelt osztalyok ertesitese tortenesekr l 00. V0. szeptember. Komponensek A komponensek olyan osztalyok vagy osztalygy jtemenyek, amelyek keszen (binaris formaban), valtoztatas nelkul felhasznalhatok es osszekapcsolhatok Onallo logikai (es altalaban fizikai) egyseget kepeznek Felhasznalasukhoz altalaban nincs szukseg arra, hogy forraskodjuk rendelkezesre alljon Az ket felhasznalo osztalyokkal metodusok (interfeszek), tulajdonsagok es esemenyek utjan erintkeznek Segitsegukkel nagyobb rendszerek keszithet k kezelhet keretek kozott A rendszereket konnyebb kisebb elemekre bontva megvalositani Kulonboz nyelveken irt komponensek is egyuttm kodhetnek Ujrafelhasznalhato szoftver-epit elemek

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 2. Az objektumorientált programozási paradigma 1 A szoftverkrízis Kihívások a szoftverfejlesztés módszereivel szemben 1. A szoftveres megoldások szerepe folyamatosan

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 3. Az objektumorientált paradigma alapelemei Objektum Osztály Példányosítás A konstruktor és a destruktor Osztályok közötti kapcsolatok Miklós Árpád, BMF NIK, 2006

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 1. Számítási modellek és programozási paradigmák 1 Modellezési alapelvek A modellezés célja A modellezés célja a világ minél teljesebb körő megértése Elemek, folyamatok,

Részletesebben

Adatstruktúrák, algoritmusok, objektumok

Adatstruktúrák, algoritmusok, objektumok Adatstruktúrák, algoritmusok, objektumok 3. Az objektumorientált paradigma alapelemei Objektum Osztály Példányosítás A konstruktor és a destruktor Osztályok közötti kapcsolatok 1 Objektum Definíció Az

Részletesebben

Objektumorientált paradigma és programfejlesztés Bevezető

Objektumorientált paradigma és programfejlesztés Bevezető Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján

Részletesebben

Objektumorientált paradigma

Objektumorientált paradigma Objektumorientált paradigma Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Objektumorientált paradigma BEVEZETŐ FOGALMAK 2/77 Bevezetés - Fogalom

Részletesebben

Programozás III. - NGB_IN001_3

Programozás III. - NGB_IN001_3 Programozás III. - az objektumorientált programozásba Varjasi Norbert Széchenyi István Egyetem Informatika Tanszék Programozás III. - 1. el adás institution-log Tartalom 1 El adások és gyakorlatok Zárthelyi

Részletesebben

Programozási alapismeretek 4.

Programozási alapismeretek 4. Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)

Részletesebben

OOP. Alapelvek Elek Tibor

OOP. Alapelvek Elek Tibor OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

Osztály öröklődés. Öröklődés és polimorfizmus. Programozás II. előadás. http://nik.uni-obuda.hu/prog2 Szénási Sándor. szenasi.sandor@nik.uni-obuda.

Osztály öröklődés. Öröklődés és polimorfizmus. Programozás II. előadás. http://nik.uni-obuda.hu/prog2 Szénási Sándor. szenasi.sandor@nik.uni-obuda. Osztály öröklődés Öröklődés és polimorfizmus előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Öröklődés Polimorfizmus Osztályok

Részletesebben

Programozás módszertan p.1/46

Programozás módszertan p.1/46 Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

Objektumorientált paradigma és a programfejlesztés

Objektumorientált paradigma és a programfejlesztés Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu

Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:

Részletesebben

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban

Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén

Részletesebben

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás.   Szénási Sándor. Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float

Részletesebben

Objektum orientált programozás Bevezetés

Objektum orientált programozás Bevezetés Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban

Részletesebben

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás: Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban

Részletesebben

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"

Részletesebben

A hierarchikus adatbázis struktúra jellemzői

A hierarchikus adatbázis struktúra jellemzői A hierarchikus adatbázis struktúra jellemzői Az első adatbázis-kezelő rendszerek a hierarchikus modellen alapultak. Ennek az volt a magyarázata, hogy az élet sok területén első közelítésben elég jól lehet

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma

Részletesebben

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv

Részletesebben

Programozás alapjai Bevezetés

Programozás alapjai Bevezetés Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés.

Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Visual C++ osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. Az osztály egy olyan típus leíró struktúra, amely tartalmaz adattagokat

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért

Részletesebben

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Vizuális és eseményvezérelt programozás , II. félév BMF NIK Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK Eseménykezelés A képviselő( delegate ) Képviselők C# nyelvi megvalósítása Metódushívás képviselőn keresztül Az esemény ( event ) Esemény

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma

Részletesebben

Szoftver-technológia II. Modulok és OOP. Irodalom

Szoftver-technológia II. Modulok és OOP. Irodalom Modulok és OOP Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 7. 2 Modulok és objektumok Modulok Lexikálisan folytonos utasítás sorozatok,

Részletesebben

Java programozási nyelv 5. rész Osztályok III.

Java programozási nyelv 5. rész Osztályok III. Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék

Részletesebben

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)

Részletesebben

Adatszerkezetek és algoritmusok

Adatszerkezetek és algoritmusok 2009. november 13. Ismétlés El z órai anyagok áttekintése Ismétlés Specikáció Típusok, kifejezések, m veletek, adatok ábrázolása, típusabsztakció Vezérlési szerkezetek Függvények, paraméterátadás, rekurziók

Részletesebben

Bevezetés a Python programozási nyelvbe

Bevezetés a Python programozási nyelvbe Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban

Részletesebben

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,

Részletesebben

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout

Részletesebben

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila

Programozás. Objektum Orientált Programozás (OOP) Alapfogalmak. Fodor Attila Programozás Objektum Orientált Programozás (OOP) Alapfogalmak Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 18.

Részletesebben

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba

Részletesebben

Történeti áttekintés

Történeti áttekintés Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem

Részletesebben

Virtuális függvények (late binding)

Virtuális függvények (late binding) Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy

Részletesebben

Objektumorientált szoftverfejlesztés alapjai

Objektumorientált szoftverfejlesztés alapjai Objektumorientált szoftverfejlesztés alapjai Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben @Katona József Kővári Attila Lektorálta: Dr. Fauszt Tibor DOI:

Részletesebben

Öröklés és Polimorfizmus

Öröklés és Polimorfizmus Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal

Részletesebben

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;

Pelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*; Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely

Részletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Név: Neptun kód: Pontszám:

Név: Neptun kód: Pontszám: Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,

Részletesebben

Integrált ügyviteli rendszer: Kettős könyvelés modul

Integrált ügyviteli rendszer: Kettős könyvelés modul Integrált ügyviteli rendszer: Kettős könyvelés modul Használati útmutató 1988-2015. 3100.Salgótarján Fő tér 1. tel.: 36-32-423-912, e-mail minorg@minorg.hu Internet: http://www.minorg.hu/ 1.oldal Tartalomjegyzék.

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Autóipari beágyazott rendszerek. Komponens és rendszer integráció Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása

Részletesebben

OOP #14 (referencia-elv)

OOP #14 (referencia-elv) OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet

Részletesebben

Interfészek. Programozás II. előadás. Szénási Sándor.

Interfészek. Programozás II. előadás.  Szénási Sándor. Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása

Részletesebben

Java programozási nyelv 4. rész Osztályok II.

Java programozási nyelv 4. rész Osztályok II. Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék

Részletesebben

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája Készítette: Urbán Norbert Szoftver-minőség A szoftver egy termelő-folyamat végterméke, A minőség azt jelenti,

Részletesebben

Objektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben

Objektumelvű alkalmazások fejlesztése 6. gyakorlat. Öröklődés, polimorfizmus. Öröklődés Kódismétlődés objektum-orientált szerkezetben Eötvös Loránd Tudományegyetem Informatikai Kar Objektumelvű alkalmazások fejlesztése 6. gyakorlat, polimorfizmus 2011.10.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Kódismétlődés

Részletesebben

OOP és UML Áttekintés

OOP és UML Áttekintés OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés

Részletesebben

9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA

9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA 9. A FORGÁCSOLÁSTECHNOLÓGIAI TERVEZŐ-RENDSZER FUNKCIONÁLIS STRUKTÚRÁJA Egy-egy konkrét forgácsolástechnológiai tervezőrendszer saját, a fejlesztő által megfogalmazott struktúrát testesít meg. Az itt tárgyalt

Részletesebben

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1 Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum

Részletesebben

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal.

Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Objektumorientált programozás Az élet szép, környezetünk tele van fákkal, virágokkal, repdeső madarakkal, vidáman futkározó állatokkal. Ez a nem művészi értékű, de idillikus kép azt a pillanatot mutatja,

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Dr. Mileff Péter

Dr. Mileff Péter Dr. Mileff Péter 1 2 1 Szekvencia diagram Szekvencia diagram Feladata: objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé

Részletesebben

Objektumelvű programozás

Objektumelvű programozás Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé

Részletesebben

Aronic Főkönyv kettős könyvviteli programrendszer

Aronic Főkönyv kettős könyvviteli programrendszer 6085 Fülöpszállás, Kiskunság tér 4. Internet: www.cin.hu E-mail: software@cin.hu Tel: 78/435-081, 30/9-573-673, 30/9-593-167 kettős könyvviteli programrendszer v2.0 Szoftverdokumentáció Önnek is jár egy

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 7. előadás AZ OOP alapelvei Egységbezárás(Encapsulation) Az adatokat es a hozzájuk tartozó eljárásokat egyetlen egységben (osztályban) kezeljük. Az osztály adatmezői

Részletesebben

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat

OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK. 2.1 A feladat 2. Digitális óra 28 OBJEKTUMORIENTÁLT TERVEZÉS ESETTANULMÁNYOK 2.1 A feladat Ebben a fejezetben egy viszonylag egyszerő problémára alkalmazva tekintjük át az OO tervezés modellezési technikáit. A feladat

Részletesebben

Objektumok inicializálása

Objektumok inicializálása Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú

Részletesebben

JAVA PROGRAMOZÁS 2.ELŐADÁS

JAVA PROGRAMOZÁS 2.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,

Részletesebben

Széchenyi István Szakképző Iskola

Széchenyi István Szakképző Iskola A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az

Részletesebben

III. OOP (objektumok, osztályok)

III. OOP (objektumok, osztályok) III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit

Részletesebben

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag

C# osztálydeníció. Krizsán Zoltán 1. .net C# technológiák tananyag objektum orientált programozás tananyag C# osztálydeníció Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem.net C# technológiák tananyag objektum orientált programozás tananyag Tartalom 1 Bevezetés 2 Osztály létrehozása, deníció

Részletesebben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. Bánsághi Anna 1 of 54

Bánsághi Anna anna.bansaghi@mamikon.net. Bánsághi Anna 1 of 54 SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - KÖVETELMÉNY MENEDZSMENT Bánsághi Anna 1 of 54 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK

Részletesebben

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #6 (VMT és DMT) v1.0 2003.03.07. 19:33:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_06-1 - E jegyzet másolata

Részletesebben

C++ programozási nyelv Struktúrák a C++ nyelvben

C++ programozási nyelv Struktúrák a C++ nyelvben C++ programozási nyelv Struktúrák a C++ nyelvben Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. szeptember A C++ programozási nyelv Soós Sándor 1/37 Bevezetés A

Részletesebben

1. Bevezetés A C++ nem objektumorientált újdonságai 3

1. Bevezetés A C++ nem objektumorientált újdonságai 3 Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.

Részletesebben

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata

Részletesebben

A.26. Hagyományos és korszerű tervezési eljárások

A.26. Hagyományos és korszerű tervezési eljárások A.26. Hagyományos és korszerű tervezési eljárások A.26.1. Hagyományos tervezési eljárások A.26.1.1. Csuklós és merev kapcsolatú keretek tervezése Napjainkig a magasépítési tartószerkezetek tervezése a

Részletesebben

58. Osztály, objektum fogalma, implementációs lehetőségek(shagreen) 59. Egységbezárás (elvi háttere, gyakorlati megvalósítás) (Shagreen)

58. Osztály, objektum fogalma, implementációs lehetőségek(shagreen) 59. Egységbezárás (elvi háttere, gyakorlati megvalósítás) (Shagreen) 58. Osztály, objektum fogalma, implementációs lehetőségek(shagreen) 59. Egységbezárás (elvi háttere, gyakorlati megvalósítás) (Shagreen) 60. Öröklés (elvi háttere, gyakorlati megvalósítás) (Shagreen) 61.

Részletesebben

és az instanceof operátor

és az instanceof operátor Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Digitális kártyák vizsgálata TESTOMAT-C" mérőautomatán

Digitális kártyák vizsgálata TESTOMAT-C mérőautomatán Digitális kártyák vizsgálata TESTOMAT-C" mérőautomatán NAGY SANDOR ZOLTAN FRIGYES IVAN BHG BEVEZETÉS Az elektronikus termékek minőségét alapvetően az alapanyagok tulajdonsága, a gyártástechnológia műszaki

Részletesebben

Információtartalom vázlata

Információtartalom vázlata 1. Az Ön cégétől árajánlatot kértek egy üzleti portál fejlesztésére, amelynek célja egy online áruház kialakítása. Az árajánlatkérés megválaszolásához munkaértekezletet tartanak, ahol Önnek egy vázlatos

Részletesebben

Globális operátor overloading

Globális operátor overloading Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal

Részletesebben

Alkatresz::Alkatresz(string n; int csz, int a) { nev = n; cikkszam = csz; ar = a; };

Alkatresz::Alkatresz(string n; int csz, int a) { nev = n; cikkszam = csz; ar = a; }; 1. Mintapélda Feladat: Egy ipari környezetben a gyártott szerelvények tetsz leges számú alkatrészekb l állhatnak, illetve önmagában is hat szerelvényeket, azaz hierarchikus felépítés ek, természetesen

Részletesebben

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

KELE3. Felhasználói kézikönyv

KELE3. Felhasználói kézikönyv KELE3 Felhasználói kézikönyv Tartalomjegyzék Bevezetés 9 Üdvözlet 9 Kezdetek 10 Rendszerkövetelmények 10 Kérdések, észrevételek 10 Telepítés 10 Frissítések 10 A program használata 11 Bejelentkezés 11 Automatikus

Részletesebben

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE Kezelési leírás 2015. Program azonosító: WUJEGYKE Fejlesztő: B a l o g h y S z o f t v e r K f t. Keszthely, Vak Bottyán utca 41. 8360 Tel: 83/515-080

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

A KÖZPONTI KÖLTSÉGVETÉSI SZERVEK ELEMI BESZÁMOLÓJÁNAK PÉNZÜGYI (SZABÁLYSZERŰSÉGI) ELLENŐRZÉSÉNEK MÓDSZERTANA. 2003. május 001-1

A KÖZPONTI KÖLTSÉGVETÉSI SZERVEK ELEMI BESZÁMOLÓJÁNAK PÉNZÜGYI (SZABÁLYSZERŰSÉGI) ELLENŐRZÉSÉNEK MÓDSZERTANA. 2003. május 001-1 A KÖZPONTI KÖLTSÉGVETÉSI SZERVEK ELEMI BESZÁMOLÓJÁNAK PÉNZÜGYI (SZABÁLYSZERŰSÉGI) ELLENŐRZÉSÉNEK MÓDSZERTANA 2003. május 001-1 2. Államháztartás Központi Szintjét Ellenőrző Igazgatóság A központi költségvetési

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 1 of 67

Bánsághi Anna anna.bansaghi@mamikon.net. 1 of 67 SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - RENDSZERTERVEZÉS 1 1 of 67 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV. RENDSZERARCHITEKTÚRÁK

Részletesebben

55 344 01 0010 55 01 Adóigazgatási szakügyintéző

55 344 01 0010 55 01 Adóigazgatási szakügyintéző Pénzügyminisztérium FELSŐFOKÚ SZAKKÉPZÉS Ú T M U T A T Ó a záródolgozat elkészítéséhez és védéséhez 55 344 01 Államháztartási szakügyintéző szakképesítés 55 344 01 0010 55 01 Adóigazgatási szakügyintéző

Részletesebben

Az Egri Kistérség területfejlesztési koncepciója. és programja

Az Egri Kistérség területfejlesztési koncepciója. és programja Az Egri Kistérség területfejlesztési koncepciója és programja ( felújított változat ) Stratégiai program III. Kidolgozó: Operatív program Ebergényi Tanácsadó Iroda 3300. Eger, Arany J. u. 21. Agria Nova

Részletesebben

Hallgatók a Tudomány Szolgálatában

Hallgatók a Tudomány Szolgálatában MŰSZAKI KATONAI KÖZLÖNY a MHTT Műszaki Szakosztály és a ZMNE folyóirata XXI. évfolyam, különszám, 2011.december ZRÍNYI MIKLÓS NEMZETVÉDELMI EGYETEM VÉDELMI IGAZGATÁS SZAK A Magyar Tudomány Ünnepe rendezvénysorozat

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja

Részletesebben

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék Programozás Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 11. Tantárgy célja, szükséges ismeretek Tantárgy célja,

Részletesebben