Model View Controller alapú alkalmazásfejlesztés

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

Download "Model View Controller alapú alkalmazásfejlesztés"

Átírás

1 10. Laboratóriumi gyakorlat Model View Controller alapú alkalmazásfejlesztés A gyakorlat célja: Az MVC elv megértése és ismerkedés egy egyszerű MVC keretrendszerrel. Felkészüléshez szükséges anyagok: 1. A 17-es segédlet anyaga. 2. A honlapon található MVC diagramm és kód tanulmányozása. Az "MVC osztályok" csomag felhasználható a projekt megírásához. A laboron átnézzük a csomag szerkezetét és megírjuk egy használati eset kódját. A keretrendszer itt található: Az MVC osztályok bemutatása...1 A kontroller: index.php...2 A modell: MVC_Module...3 A View megvalósítása: MVC_View...5 Egy használati eset implementálása...6 Az MVC osztályok bemutatása Az osztályok kapcsolatát az alábbi diagramm ábrázolja: A csomagban a fenti diagrammot megvalósító alap osztályok, illetve néhány használati esetet megvalósító kód található. 1

2 A bemutató során utalunk majd az osztályok forráskódjaira, amelyek itt: böngészhetőek. A kontroller: index.php A kontroller részt az index.php valósítja meg. A teljes kód itt tekinthető meg: Az alkalmazás oldalai az alábbi sémát megvalósító GET paraméterekkel hívhatóak: /index.php?page=login&go=send A fenti paramétereket az index.php értelmezi, és végrehajtja egy adott objektum, jelen esetben a login.php adott metódusát, ez a fenti példában a send metódus. Az indítást az alábbi kód valósítja meg: //a modul neve if (isset ($_GET['page'] )) $page = $_GET['page']; else $page = 'start'; //letezik egy start modul ha nincs modul nev //az esemeny nevet if (isset ($_GET['go'] )) $event = $_GET['go']; else $event = 'start'; //letezik egy start fuggveny minden modulban //ha nincs go parameter //betoltom a $page altal meghatarozott objektumot //PHP-ben az oszt'ly nevek nem erzekenyek a kis-nagybetűre //es a belso sztruktúrákban kisbetűsen tárolódnak //ezért nem kell azzal foglalkozni, hogy kis vagy nagybetűsen jött if (class_exists($page)) $module = new $page (); if (!$module instanceof MVC_Module ) trigger_error("rossz objektum, nem modul.", E_USER_ERROR); else trigger_error("hiányzó osztály", E_USER_ERROR); //meghivom a go parameterben levo esemenyt //megnezem, hogy van-e ilyen metodusa //illetve van-e CALL metodusa, ha proxy-kent van megirva if ( method_exists ( $module, $event ) method_exists ( $module, " call" )) //a meghivott lap itt lefut //amennyiben lenne visszateritett erteke, az a $RES be kerul $res = $module->$event(); else trigger_error("hiányzó metódus", E_USER_ERROR); 2

3 Látható, hogy a létrehozott $module objektum MVC_Module típusú. Ez lesz tehát a futtatható objektumok típusa: így valamennyi objektumnak, amely az alkalmazás által indítható meg kell valósítania ezt az osztályt. Ezeknek a $event nevű metódusa lesz elindítva amennyiben ilyen létezik. Így az alkalmazás futtatható objektumait moduloknak is fogjuk nevezni. A következő lépésben lefut a modul (pl. a login.php). Ez végrehajtja azt az alkalmazás logikát amit megvalósít. Azokat a tartalmakat amelyeket ki kell írni a kliensnek előkészíti egy adatstruktúrában (később majd megnézzük hogyan). Az index.php tovább fut, és az alábbi kódra lép: //ez lesz a megjelenitest megvalosito objektum $view = new MVC_View ( 'smarty', $module ); // a model valtozoinak beallitasa $view->assign(); //... itt kód kihagyva... //ez a vegso kiiras: a display felepiti az index.tpl -bol az //index.html-t es kiirja $view->display(); A kontroller létrehoz egy $view nevű objektumot, amelynek 2 paramétert ad: -a 'smarty' paraméterrel azt kéri a megjelenítőtől, hogy a Smarty-t használja sablonkezelőként -a $module megadásával megadja a MVC_View osztálynak, hogy melyik objektumtól kell a kiírandó adatokat átvenni A modell: MVC_Module Az MVC_Module osztály az alapja minden futtatható osztálynak. Ez valósítja meg a tervezési minta "modell" részét. Minden példánya tartalmaz egy referenciát az alábbi objektumokra: MVC_Session: ez a PHP $_SESSION változójának objektumorientált elérését biztosítja. Ilyenként ez egy singleton (egyke) típusú osztály. Alább láthatjuk az osztály get_instance függvényét, valamint a statikus singleton objektumot tartalmazó változót: class MVC_Session / Ez a valtozó tartalmazza a singleton Session szesszió / private static $session; 3

4 / Indításkor megnyitja a szessziót / private function construct () session_start(); / A singleton osztályt lekérő függvény / public static function get_instance () if (!isset (self::$session)) self::$session = new MVC_Session (); //ha nincs bejelentkezve a felhasznalo a user //erteke 0 if (!isset(self::$session->user_id)) self::$session->user_id=0; //a szesszio tatalmaz egy data tombot HTML kiirasok //megjegyzesehez if (!isset(self::$session->data)) self::$session->data = array(); return self::$session;... a kód folytatódik Webtechnológia gyakorlatok Figyeljük meg azt, hogy az osztály a PHP _set() és _get függvényét használja az adatok szesszióba való írására. / Változó string $n változó neve / public function get ($n) return $_SESSION[$n]; Így a szesszióba való írást az alábbi szintaxissal használhatjuk egy adott objektumból: $this->sess = MVC_Session::get_instance(); //szesszio nyitas $this->sess->user_id = 1; Az MVC_Module második referenciája egy MyDbiS nevű, adatbázis elérést biztosító osztályra mutat. A Dbi osztályt már ismerjük. A MyDbiS ezt terjeszti ki singleton típusúvá. Ez az osztály biztosítja a modul adatbázis elérését: 4

5 <?php / Adatbaziskapcsolat kezelő singleton Aux / class MyDbiS extends Dbi private static $singleton; protected function construct () parent:: construct (DBHOST, DBUSER, DBPASS,DBNAME); function destruct () public static function get_instance () if (! isset ( self::$singleton ) ) self::$singleton = new MyDbiS (); return self::$singleton; public function clone() die ('Ezt az osztályt nem lehet klónozni.');?> Az MVC_View is kierjeszt egy osztályt: az MVC_Object-et amelyik egy $data nevű tömböt és egy get_view_data() nevű függvényt tartalmaz. Ebbe az osztályba fogja az MVC_Module a kiírandó adatokat tárolni, egyszerűen név-érték párként. A get_view_data() függvényt fogja meghívni az MVC_View és így veszi át a kiírandó adatokat (láthatjuk, hogy ezt az osztályt - MVC_Object - más osztály is kiterjeszti). A View megvalósítása: MVC_View Az MVC_View osztály valósítja ezt meg. Ha a konstruktorát megnézzük: function construct ( $tpl_engine, $model ) //a megjelenites kulonbozo template osztalyokat //hasznalhat //ezeknek implementalniuk kell az assign es display //fuggvenyeket switch ( $tpl_engine ) 5

6 case 'regex' : $this->engine = new Template(); break; case 'smarty' : default : $this->engine = new Smarty(); $this->model = $model; $this->passive = array(); látható, hogy létrehoz egy engine nevű változót, amelyik egy sablon kezelőre tartalmaz hivatkozást. Ezen kívül elmenti a model változójába a modellre vonatkozó referenciát. A kiírást a View display() függvénye végzi: / A weblapot (index.tpl) kiíró függvény Az index.tpl 'content' nevű zónájába beírja a modell által generált HTML-t (a modell nevével azonos nevű sablont) utána kiírja a weblapot az Internetre / function display ( ) //a model sablonja, azonos nevu a model nevevel $template_file = strtolower ( $this->model->getname() ). ".tpl"; $s = $this->engine->fetch ( $template_file ); //ez az index.tpl content reszebe kerul $this->engine->assign('content', $s ); //! itt kód kimarad: lásd a teljes forrást //vegso kiiras $this->engine->display ( 'index.tpl' ); Az alkalmazás sablonja egy index.tpl nevű sablon, ebben egy $content nevű Smarty változó helyére ír be a View egy HTML-kódot: ez úgy áll össze, hogy a modell nevével azonos kis sablont a View feltölti a kiírandó adatokkal, és behelyettesíti a content helyébe. Ezt látjuk az előző függvényben. Az MVC osztályok még tartalmaznak un. passzív objektumokat, pl. reklámok megvalósítására. Ezeket az MVC_Passive osztály kiterjesztésével kell megvalósítani. Egy használati eset implementálása Vegyünk egy használati esetet, pl. a bejelentkezést. Ez három műveletet kell megvalósítson: 1. bejelentkező űrlap kiírása 2. űrlap fogadása és bejelentkezés, ha a név/jelszó jó 3. kijelentkezés 6

7 Ilyenként úgy fogjuk implementálni, hogy egy osztályon belül (legyen az osztály neve login) 3 metódust valósítunk meg (legyenek ezek start(), send() és leave() ). Ezeket, amint már láttuk az alábbi relatív URL-ekkel hívhatjuk: /index.php?page=login /index.php?page=login&go=send /index.php?page=login&go=leave A start metódust mindig meg kell valósítani egy MVC_Module-t kiterjesztő osztálynál. Ez akkor hívódik meg, ha nem adunk az URL-ben meg go paramétert. Így a start() az első, a send() a második míg a leave() a login harmadik műveletét valósítja majd meg. Megtervezzük a login eset kimenetét (a View által használt sablont), ennek tartalmaznia kell az első esetben kiírt űrlapot, és a két másik eset kimenetét: if $form == 1 <div align=center> <h3>bejelentkezés</h3> <p style="color:red;">$form_error</p> <form action="$siteuri/index.php?page=login&go=send" method="post"> <table> <tr><td> </td><td><input type="text" name=" " value="$form_ " maxlength="100" size="30"> </td></tr><tr><td> Jelszó:</td><td> <input type="password" name="password" value="" size="30"> </td></tr> </table> <input type="submit" name="go" value="ok"> </form> <br> <p><i>teszt abc@de.ro, jelszó: cicamica</i></p> </div> else <p align="center">$form_ok</p> /if Látható, hogy két alternatívából áll (egyik az űrlap, a másik egy üzenet kiküldését biztosítja). A megírandó függvények feladata helyesen beállítani a sablon változóit, és megvalósítani a használati eset műveleteit. Íme a login.php osztály, a részletes magyarázatok elégségesek a működés megértéséhez: 7

8 <?php / Bejelentkezés modul Megvalósítja a be- és kijelentkezés Example / class Login extends MVC_Module / Konstruktor függvény A konstruktor false paramétere miatt ez az objektum nem védett oldalon fut le. Ha a felhasználó előzőleg már bejelentkezett akkor mielőtt indul kijelentkezteti. / function construct () parent:: construct( $protected = false); //nem vedett lap / Visszaadja az osztály nevét A View e szerint keresi meg a sablont ha más sablont kell használni, mint az osztály neve, akkor ezt a függvényt át kell írni / function getname () return CLASS ; / Indító függvény: ha a login modult 'go' paraméter nélkül hívjuk Elvégzi a bejelentkező űrlap kiírását a sablonból, a 'form' Smarty változó 1 értékére az űrlap íródik ki. / function start () if ( $this->auth() ) $this->data['form_error']='be volt jelenkezve. Kijelentkeztettük.'; $this->leave(); //kijlentkezteti $this->data['form']=1; //beallitom az ures div magassagat 8

9 $this->data['holder_height'] = HOLDER_HEIGHT; / A POST metódus kezelését valósítja meg Akkor hívódik meg ha a 'go' paraméter értéke 'send' / function send () $u= new User(); if (($_SERVER['REQUEST_METHOD'] == 'POST') && //ha POST $u->get_data_by_ ($_POST[' ']) && //van ilyen felhasznalo $u->check_passwd($_post['password'])) //jo a jelszo //bejelentkezes sikerult, a user_id a szesszioba kerul $this->sess->user_id=$u->user_id; //nem irjuk ki az urlapot $this->data['form']=0; // $this->data['form_ok']='bejelentkezés sikerült.'; //ez az uzenet a jobb oldalon jelenik meg, es jelzi, hogy //a felhasznalo be van jelenkezve //mivel a szesszioba irjuk, ott marad addig amig a felhsznalo //kijelentkezik $this->sess->set_data ('right_msg', $u->name. ' ' ); else //beallitja az urlapon a hibauzenetet $this->data['form_error']='hibás vagy rossz jelszó.'; //visszakuldi a beirt cimet $this->data['form_ ']=$_post[' ']; //ez a valtozo allitja be az urlap kiirasat $this->data['form']=1; //beallitom az ures div magassagat $this->data['holder_height'] = HOLDER_HEIGHT; / A kijelentkezést valósítja meg / function leave () //ha be volt jelentkezve if ( $this->sess->user_id > 0 ) $this->sess->user_id=0; //mar nem irom ki a felhasznalo nevet $this->sess->set_data ('right_msg', ''); //uzenet az ablakban $this->data['form_ok']='kijelentkezés megtörtént.'; else 9

10 $this->data['form_ok']='ne csaljon, nem is volt bejelentkezve.'; //sablon form=0 ága $this->data['form']=0; //beallitom az ures div magassagat $this->data['holder_height'] = HOLDER_HEIGHT;?> Webtechnológia gyakorlatok A figyelemre méltó az MVC típusú alkalmazásokban az, hogy ha a keret működik, akkor az alkalmazás fejlesztés során az alábbiakat kell elvégezni: -meghatározzuk a használati eseteket -lebontjuk elemi web "műveletekre": HTTP kérések sorozatára -megtervezzük az eset kimenetét (view) minden kérésre -létrehozunk egy modellt megvalósító osztályt -annak függvényeiben megvalósítjuk a modell feladatait -a feladat elvégzése után/közben beállítjuk a kimenetet A legfontosabb: miközben egy használati esetet fejlesztünk, (viszonylag) függetlenek vagyunk az alkalmazás többi részétől. Rendelkezésünkre áll a szesszió objektum és az adatbázis elérés. Az MVC keret pedig stabil működést biztosít. A honlapon levő példa alkalmazás több kis minta használati eset implementálását tartalmazza itt: 10

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig

Részletesebben

Java Programozás 11. Ea: MVC modell

Java Programozás 11. Ea: MVC modell Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát

Részletesebben

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

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 2 Ismétlés Ismétlés 3 Fájl/Adatbázis 3 4 Szerver 2 CGI

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

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

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

OOP: Java 8.Gy: Abstract osztályok, interfészek OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus

Részletesebben

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

Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title; PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function

Részletesebben

JavaServer Pages (JSP) (folytatás)

JavaServer Pages (JSP) (folytatás) JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek

Részletesebben

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS 2015-2016 Sütik és munkamenetek kezelése A HTTP protokoll Emlékeztető 2 A HTTP protokoll állapotmentes Nem emlékezik az előző kérés

Részletesebben

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir(); WEB-PROGRAMOZÁS II 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: a) Legyen a Felhasznalo osztálynak egy osztály szintű publikus változója, amelyben számolja a létrehozott példányai

Részletesebben

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa Web Technológiák Java Server Pages - JSP Répási Tibor egyetemi tanársegéd Miskolc Egyetem Infomatikai és Villamosmérnöki Tanszékcsoport (IVM) Általános Informatikai Tanszék Iroda: Inf.Int. 108. Tel: 2101

Részletesebben

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

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

Szoftvertechnolo gia gyakorlat

Szoftvertechnolo gia gyakorlat Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot

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

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val

Részletesebben

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 PHP beadandó 2 Honlapról elérhető Labirintus-játék

Részletesebben

PHP5 Új generáció (2. rész)

PHP5 Új generáció (2. rész) PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen

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

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására

Részletesebben

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI) Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás

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

10.óra CodeIgniter Framework #3. Gyimesi Ákos

10.óra CodeIgniter Framework #3. Gyimesi Ákos 10.óra CodeIgniter Framework #3 Gyimesi Ákos gyimesi.akos@gmail.com http://webprog.gy-i-m.com Ismétlés Model View Controller Ismétlés Model application/models/books_model.php: class Books_model extends

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

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

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.

Részletesebben

Biztonságos PHP a gyakorlatban

Biztonságos PHP a gyakorlatban Biztonságos PHP a gyakorlatban Ahhoz, hogy meg tudjuk védeni PHP alkalmazásainkat, az elsõ és legfontosabb lépés a biztonsági veszélyek felismerése és megértése. Az elmúlt két évben a PHP magfejlesztõi

Részletesebben

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport 10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

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

OOP: Java 8.Gy: Gyakorlás

OOP: Java 8.Gy: Gyakorlás OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét

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

PHP. Adatbázisok gyakorlat

PHP. Adatbázisok gyakorlat PHP Adatbázisok gyakorlat Mi a PHP? A PHP (PHP: Hypertext Preprocessor) egy nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. A PHP-kódunk általában

Részletesebben

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server

Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server Kompozit alkalmazások fejlesztése IBM WebSphere Portal Server Portletek -összefoglaló Portlet: portálba integrálható kisalkalmazás Szabványok JSR 168 Portlet 1.0 (IBM API) JSR 286 Portlet 2.0 Dióhéjban

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

Bevezető. Servlet alapgondolatok

Bevezető. Servlet alapgondolatok A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig

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

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

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani. Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként

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

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló

Részletesebben

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 Adatbázis-biztonság Model-View-Controller minta MVC keretrendszerek

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát

Részletesebben

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

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. 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

BME MOGI Gépészeti informatika 8.

BME MOGI Gépészeti informatika 8. BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező

Részletesebben

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

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás

Részletesebben

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1

STL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1 STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat

Részletesebben

Internet technológiák

Internet technológiák Szabadkai Műszaki Szakfőiskola Internet technológiák dr Zlatko Čović chole@vts.su.ac.rs 1 Függvények A függvény egy zárt, önálló kódrészlet, amelyet a PHP programból meghívhatunk és a meghívás után a függvény

Részletesebben

Web-technológia PHP-vel

Web-technológia PHP-vel Web-technológia PHP-vel A PHP programnyelv 2, futtatókörnyezet beálĺıtások Erős Bence February 26, 2013 Erős Bence () Web-technológia PHP-vel February 26, 2013 1 / 19 Szuperglobális változók $ GET : request

Részletesebben

Smarty AJAX. Miért jó ez? Ha utálsz gépelni, akkor tudod. Milyen műveletet tudunk elvégezni velük:

Smarty AJAX. Miért jó ez? Ha utálsz gépelni, akkor tudod. Milyen műveletet tudunk elvégezni velük: Smarty AJAX Smarty sablonrendszer fegyverzetét (Funkcióit) igyekszik kiegészíteni, néhány alap AJAX metódussal, amivel a megjelenést, kényelmet vagy a funkcionalitást növelhetjük. A Smarty Ajax függvényeknek

Részletesebben

3. Osztályok II. Programozás II

3. Osztályok II. Programozás II 3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt

Részletesebben

JAVA webes alkalmazások

JAVA webes alkalmazások JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,

Részletesebben

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás. 1.1. Szükséges névterek. 1.2. Attribútumok. 1.3.

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás. 1.1. Szükséges névterek. 1.2. Attribútumok. 1.3. Sorosítás (szerializáció) és helyreállítás Cél: a memóriában tárolt adatok egyszerű lemezre mentése és visszatöltése. A sorosítás során létrehozunk egy állományt és egy sorosítást kezelő objektumot. Ez

Részletesebben

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Symfony kurzus 2014/2015 I. félév. Controller, Routing Symfony kurzus 2014/2015 I. félév Controller, Routing Request - Response GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) HTTP/1.1 200 OK Date: Sat, 02 Apr 2011 21:05:05

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. október 9. 5. El adás Interface-ek Korábban már említettem az interface-eket. Akkor úgy fogalmaztam, hogy valamilyen tulajdonságot adnak az osztályoknak. A lényegüket talán

Részletesebben

OOP: Java 4.Gy: Java osztályok

OOP: Java 4.Gy: Java osztályok OOP: Java 4.Gy: Java osztályok. 36/1 B ITv: MAN 2019.03.02 Feladat Készítsen el egy Employee osztályt és egy Employee osztályt használó osztályt (EmpProgram). Az Employee osztálynak: van name és salary

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

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

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás: Java V. szint lyszintű ű tagok A final minősítő Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 05. Java V.: szintű tagok JAVA5 / 1 Példányváltozó Az eddig megismert adattagokból

Részletesebben

Abstract osztályok és interface-ek. 7-dik gyakorlat

Abstract osztályok és interface-ek. 7-dik gyakorlat Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,

Részletesebben

Programozás C++ -ban 2007/7

Programozás C++ -ban 2007/7 Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály

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

WordPress segédlet. Bevezető. Letöltés. Telepítés

WordPress segédlet. Bevezető. Letöltés. Telepítés WordPress segédlet Bevezető A WordPress egy ingyenes tartalomkezelő rendszer (Content Management System - CMS), amely legnagyobb előnye az egyszerű telepítés és a letisztult kezelhetőség és a változatos

Részletesebben

Webes alkalmazások helyes szerkezete PHP-ban

Webes alkalmazások helyes szerkezete PHP-ban Webes alkalmazások helyes szerkezete PHP-ban Konstantinusz Kft. 2010 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Mi az a leíró?... Hiba! A könyvjelző nem létezik. 3. Közvetett paraméter átadások... Hiba!

Részletesebben

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok

GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben

Részletesebben

Részvételi regisztráció támogatása a tanfolyamszervező saját weboldalán

Részvételi regisztráció támogatása a tanfolyamszervező saját weboldalán OFTEX dokumentum ENEF Fejlesztési és Kereskedelmi Kft. 2151, Fót, Mária u. 14/a Tel: 27 535-041 Fax: 27 362-899 Email:enefkft@invitel.hu Részvételi regisztráció támogatása a tanfolyamszervező saját weboldalán

Részletesebben

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

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:

Részletesebben

Elemi Alkalmazások Fejlesztése II.

Elemi Alkalmazások Fejlesztése II. Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk

Részletesebben

WEBES ALKALMAZÁSFEJLESZTÉS 1.

WEBES ALKALMAZÁSFEJLESZTÉS 1. WEBES ALKALMAZÁSFEJLESZTÉS 1. Horváth Győző Egyetemi adjunktus 1117 Budapest, Pázmány Péter sétány 1/C, 2.420 Tel: (1) 372-2500/1816 Tartalom 2 MVC ismétlés Mini MVC saját MVC keretrendszer MVC részeinek

Részletesebben

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti

Részletesebben

MVC. Model View Controller

MVC. Model View Controller MVC Model View Controller Szoftver fejlesztés régen Console-based alkalmazások Pure HTML weboldalak Assembly, C Tipikusan kevés fejlesztő (Johm Carmack Wolfenstein, Doom, Quake..) Szűkös erőforrások optimális

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft Flash és PHP kommunikáció Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft A lehetőségek FlashVars External Interface Loadvars XML SOAP Socket AMF AMFphp PHPObject Flash Vars Flash verziótól függetlenül

Részletesebben

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

Részletesebben

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Enterprise JavaBeans 1.4 platform (EJB 2.0) Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans

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

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák Java Web technológiák Bevezetés Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások Áttekintés

Részletesebben

Web-fejlesztés NGM_IN002_1

Web-fejlesztés NGM_IN002_1 Web-fejlesztés NGM_IN002_1 Dinamikus tartalom 3. Template feldolgozás Template feldolgozás Statikus (HTML) fájlok dinamikus tartalom beszúrással (speciális tagek) Template processzor PHP Cold Fusion ASP

Részletesebben

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009

A PHP nyelv alapjai. Web-Sky Consulting Kft Tóth Imre 2009 A PHP nyelv alapjai Web-Sky Consulting Kft Tóth Imre 2009 Előadások címei 1. PHP nyelv alapjai 2. Objektumorientáltság a PHP-ben 3. A Http és a PHP kapcsolata 4. Adatbázis kezelés a PHP-ben 5. MVC alapjai

Részletesebben

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

2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,

Részletesebben

Struts2 keretrendszer

Struts2 keretrendszer Áttekintés Struts2 keretrendszer Bevezetés Struts2 keretrendszer Action osztály Interceptor-ok OGNL 1 / 26 2 / 26 Már a megjelenésük kezdetén bebizonyosodott a Servletek hasznos volta. A CGI-vel szemben

Részletesebben

VII. Appletek, grafika

VII. Appletek, grafika VII. Appletek, grafika 1. Bevezetés A tantárgy elején említettük, hogy a Java alkalmazásokat két nagy csoportba sorolhatjuk. Ezek: alkalmazások (applications) alkalmazáskák (applets) Az eddig megírt programjaink

Részletesebben

Objektum orientált kiterjesztés A+ programozási nyelvhez

Objektum orientált kiterjesztés A+ programozási nyelvhez Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

MicroSigner Közvetítő Szerver fejlesztői dokumentáció

MicroSigner Közvetítő Szerver fejlesztői dokumentáció MICROSEC ZRT. MicroSigner Közvetítő Szerver fejlesztői dokumentáció verzió: 1.0 Ivicsics Sándor, Máté Norbert, Vanczák Gergely 2016.06.09. Tartalom Általános információk... 2 ESign munkamenet létrehozása...

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

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

Bevezetés, a C++ osztályok. Pere László

Bevezetés, a C++ osztályok. Pere László Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK

Részletesebben

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,

Részletesebben

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN Objektum Orientált Programozás 5. JAVA osztályok 21/1B IT MAN B IT v: 2016.03.09 MAN Feladatok 1. Készítsen egy Alkalmazott osztályt - legyen név, kor és fizetés adata - legyen egy osztályszintű adattagja

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok

HTML. Ismerkedés a JavaScripttel. A JavaScript lehet ségei. A JavaScript kód helye. Önálló JavaScript fájlok HTML Ismerkedés a JavaScripttel webprogramozó A weblapokat HTML nyelven készíthetjük el. A HTML egyszer leírónyelv, nem alkalmas válaszolni a felhasználóknak, nem tud döntéseket hozni, nem tud végrehajtani

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

JAVA PROGRAMOZÁS 3.ELŐADÁS Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram

Részletesebben

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft

Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet

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

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Java Programozás 1. Gy: Java alapok. Ismétlés ++ Java Programozás 1. Gy: Java alapok Ismétlés ++ 24/1 B ITv: MAN 2018.02.18 Feladat Készítsünk egy komplett konzolos alkalmazást, mely generál egy számot 0 és 100 között (mindkét határt beleértve), feladatunk

Részletesebben