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