OOP és UML Áttekintés



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

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

és az instanceof operátor

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

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

Saját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése

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?

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

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

Interfészek. PPT 2007/2008 tavasz.

A FEJLESZTÉS KIHÍVÁSAI

Már megismert fogalmak áttekintése

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Osztályok. 4. gyakorlat

JAVA PROGRAMOZÁS 2.ELŐADÁS

OOP: Java 8.Gy: Abstract osztályok, interfészek

Öröklés és Polimorfizmus

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

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

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

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Programozási nyelvek Java

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

Programozás II. labor

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

C# osztályok. Krizsán Zoltán

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Programozási alapismeretek 4.

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Web-technológia PHP-vel

Pénzügyi algoritmusok

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

Programozás módszertan p.1/46

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Objektumelvű programozás

OOP #14 (referencia-elv)

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

C#, OOP. Osztályok tervezése C#-ban

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

GDi Esri Magyarország Felhasználói Konferencia Timár Gábor: Konkurens adatfeldolgozás ArcGIS rendszerben

Bánsághi Anna

Szoftver technológia. Verziókövető rendszerek. Cserép Máté ELTE Informatikai Kar 2019.

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

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

Generikus Típusok, Kollekciók

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

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

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

C++ programozási nyelv

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Objektumorientált programozás C# nyelven

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Globális operátor overloading

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

Kivételkezelés a C++ nyelvben Bevezetés

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

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

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

OOP. Alapelvek Elek Tibor

Elemi Alkalmazások Fejlesztése II.

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani

Programozási technológia

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )

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

Concurrency in Swing

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Alapfogalmak, WWW, HTTP

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

A Microsoft Visual Studio 2005 fejlesztőkörnyezet

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.

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Magas szintű programozási nyelvek 2 Előadás jegyzet

Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.

Stateless Session Bean

Metamodellezés. Simon Balázs BME IIT, 2011.

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

KnowledgeTree dokumentumkezelő rendszer

Egyetemi könyvtári nyilvántartó rendszer

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

Java felhasználói felület

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Java III. I I. Osztálydefiníció (Bevezetés)

Folyamatok rugalmas irányítása. FourCorm Kft.

Google C++ style guide

Java III. I I. Osztálydefiníció (Bevezetés)

Objektumorientált programozás C# nyelven III.

Bevezetés a programozásba előadás: Öröklődés

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Átírá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 2 UML Osztálydiagram 3 Verziókövetés SVN SVN Szerverek SVN Kliensek Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 2 / 32

Osztály Valóság egy szelete Logikai egység Tulajdonságok Viselkedés 1. ábra Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 3 / 32

Osztály Tulajdonságok Példány szintű adattagok private Egyszerű típusok Osztály típusok Tulajdonság (Property) Viselkedés Metódusok Nyilvánossági szintek Metódusnév túlterhelés Konstruktor Paraméter módosítók - ref out params Default érték opcionális paraméter Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 4 / 32

Nyilvánossági Szintek public (+) bármely csomagban lévő bármely osztályból elérhető protected internal védett belső protected (#) védett internal csak ebből a szerelvényből private (-) csak ebből az osztályból static Osztály szintű adattag Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 5 / 32

Delegátumok delegate Függvény pointer Függvényt definiál Függvény, mint típus Lehet paraméter Több implementáció Callback mechanizmus Függvény függvényt kap paraméterül Használja a függvényt Eseménykezelés alapja Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 6 / 32

Események event Delegátum típusú Típusának megfelelő kezelők Feliratkozás += Leiratkozás -= Grafikus felület File kezelés Párhuzamos feladatok Alacsony szintű fejlesztés Előre nem ismert implementáció Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 7 / 32

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

Öröklődés Osztályhierarchia Általánosítás Specializáció Statikus típus Dinamikus típus Auto : Jarmu protected sealed osztály sealed metódus base(...) is, as virtual, override Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 9 / 32

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

Interfész Publikus metódusok összessége Metódus deklarációk Nem tartalmaz implementációt Kötelező implementálni Többszörös öröklődés Egy osztály több interface Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 11 / 32

Absztrakt Osztály Osztály Tartalmazhat implementációt Egy vagy több absztrakt metódus Részben vagy egészben implementálni kell 2. ábra Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 12 / 32

Példa 3. ábra Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 13 / 32

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

Kivétel 4. ábra Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 15 / 32

Kivétel Hibák Események Megtelt a lemez Hibás elérési út Jogosultságok... Hibakezelést Felhasználói és rendszer kivételek Exception osztály try catch finally throw Első illeszkedő blokk Egymásba ágyazhatóság Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 16 / 32

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

Osztály 1 Osztálynév, sztereotípia 2 Adattagok láthatóság név : típus 3 Metódusok láthatóság név([paraméterek]) : visszatérési típus 5. ábra Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 18 / 32

Öröklődés Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 19 / 32

Interface Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 20 / 32

Tartalmazás Aggregáció Üres gyémánt Tartalmazó oldalon Zenész és hangszerei Kompozíció Teli gyémánt Tartalmazó oldalon Ház és falak Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 21 / 32

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

SVN Felváltja a CVS t Aktuális verzió Történetiség követése Kliens Szerver Repository Trunk Branches Tags Szerverek VisualSVN svnserve Kliensek svn TortoiseSVN Visual Studio Subsclipse Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 23 / 32

Repository Projektek Egy szerver több repository Egy repository több projekt Jogosultságok Felhasználó csoportok Ajánlott Projektstruktúra trunk a projekt fő szála branches a projekt mellékszálai, oldalirányok tags A projekt mérföldkövei, kiadott verziói, időben nem változnak Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 24 / 32

Legfőbb műveletek checkout update Repository lekérdezése adott URL ről Létrejön a munkapéldány a kliensen Munkapéldány frissítése a szerverről Munkapéldány felülírásra kerül commit add Módosítások mentése a szerverre Üzenet írása FONTOS Új állomány hozzáadás a repository hoz Csak a hozzáadott állományok kerülnek bele a repository ba. Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 25 / 32

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

svnserve Linux Egyszerű szerver Alap funkciók Segédprogramok svnadmin svn svnadnim create <path> svnserve.conf Szerver beállítások passwd Felhasználó nevek és jelszavak authz Jogosultság kezelés Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 27 / 32

VisualSVN Ingyenes SVN Server Windows Számos kiegészítő funkció Saját GUI HTTPS Windows Authentikáció Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 28 / 32

Tanszéki SVN Szerver https://193.6.5.42/svn/csharp LDAP autentikáció szükséges Csak olvasási jog Több példa projekt Gyakorlati feladatok Órákra, témakörökre bontva C# projekt Importálható VS be Elkészült gyakorlati feladatok Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 29 / 32

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

TortoiseSVN Windows Kliens Ingyenes Intézőbe épül be Egyszerűen használható Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 31 / 32

Visual Studio (Ankh SVN) Visual Studio plugin Ingyenes Külön be kell állítani Tools -> Source Control Számos beépülő szolgáltatás Ropository Explorer Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 32 / 32