WEBES ALKALMAZÁSFEJLESZTÉS 1.
|
|
- Andrea Biró
- 6 évvel ezelőtt
- Látták:
Átírá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, Tel: (1) /1816
2 2 Függvény JavaScriptben
3 Függvények 3 Olyan objektum, ami meghívható kódot tartalmaz Általános tudnivalók visszatérési értékkel rendelkezik return kulcsszó undefined Tetszőleges számú paraméter First class object Futási időben létrehozható Objektumok, saját metódussal és tulajdonságokkal Változóban tárolható Paraméterként átadható Visszatérési értékként megadható
4 4 Függvény létrehozása
5 Függvénydeklaráció 5 Kötelező név Egész futási kontextusban elérhető function multiply(a, b) { return a * b; // Valójában már itt elérhetõ a gethero függvény var hero = gethero(); assertequals('superman', hero); function gethero() { return 'Superman';
6 Függvénykifejezés 6 Függvény mint kifejezés (függvényliterál): function [name]([param] [, param] [..., param]) { statements Névtelen függvénykifejezés: //Névtelen függvénykifejezés átadása egy változónak var multiply = function(a, b) { return a * b; ; Nevesített függvénykifejezés: //Névtelen függvénykifejezés átadása egy változónak var multiply = function multiply(a, b) { return a * b; ;
7 Fat arrow szintaxis (ES6) 7 var heroes = [ 'Superman', 'Spiderman', 'Sugarman' ]; //Általános forma ([param[, param[,... param]]]) => { statements //Egyszerűbb eset param => expression // Ha össze szeretnénk számolni a hősök neveinek hosszát, akkor legegyszerűbb a map függvényt használni: heroes.map(function(hero) { return hero.length; ); // A Fat arrow operátorral lényegesen expresszívebb kódot kapunk: heroes.map( hero => hero.length );
8 Function objektum 8 Függvénytörzs szövegként Dinamikusan generált függvények Speciális esetekben használandó Egyébként kerüljük! var multiply = new Function('a, b', 'return a * b');
9 Deklaráció vs kifejezés 9 a(); //b(); //nem működik function a() { console.log('a'); var b = function () { console.log('b'); ; b(); var c = function c() { console.log('c'); ; c(); var d1 = function d2() { console.log('d'); ; d1(); //d2(); //nem működik, csak belül érhető el
10 10 Változók a függvényekben
11 Lokális változók 11 var kulcsszó Változókat bárhol deklarálhatunk a függvényen belül A függvénytörzs első műveleteként jönnek létre, és értékük undefined. Érdemes a legelején létrehozni (JSLint)
12 Lokális változók viselkedése 12 var valtozovizsgalat = function() { console.log(valtozo); var valtozo = 5; // => undefined, ha nem hoznánk létre a következő sorban, akkor itt most referenceerror lenne // Innen már 5 a valtozo értéke valtozovizsgalat(); // A fenti függvény valójában ezzel ekvivalens: var valtozovizsgalat = function() { var valtozo; console.log(valtozo); valtozo = 5; // => undefined
13 Hatókör 13 Minden változó hatóköre az a függvény, ahol őt létrehozzuk Erre a függvényre nézve lokális változó lesz A függvényen belül definiált újabb függvényeken belül el tudjuk érni. Belső függvényben definiált ugyanolyan nevű változó elfedi a külső függvénybeli változót Belső függvényből módosítható külső függvénybeli változó. Vigyázzunk vele!
14 Hatókör 14 var outerfunction = function() { var a = 1, b = 2, c = 3, innerfunction = function(b) { var c = 4, d = 5; a = 2; // Ezen a ponton a globális "b" és "c" változó // el van fedve, így "b" undefined, a "c" lokális // változó értéke pedig 4. A "d" egy új lokális // változó, a függvényen kívül nincs definiálva // Ezen a ponton a,b,c értéke a scope-nak // megfelelõen 1,2,3 és d változó nem létezik innerfunction(); // A függvény lefutása után az "a" értéke módosul // 2-re, hiszen az innerfunction nem fedi el, // sõt megváltoztatja azt! ;
15 ES6 let 15 //Function scope function funcexample() { for (var i = 0; i<3; i++) { console.log(i); assertequals(i, 3); funcexample(); //Block scope function blockexample() { for (let i = 0; i<3; i++) { console.log(i); assertequals(i, undefined); blockexample();
16 Változók élettartama 16 Függvényekben létrehozott változók élettartama addig tart, amíg azok használatba vehetőek (mutat rájuk referencia) Alapesetben a függvény futási ideje Garbage collector Szükséges lexikális scope-pal rendelkező nyelvek esetén (ld. closure)
17 17 Függvényparaméterek
18 Paraméterek száma 18 Aktuális paramétereinek száma eltérhet a formálisakétól Ha kevesebb aktuális van, akkor a maradék formális undefined Ha több aktuális van, akkor is elérhető (arguments, rest parameters)
19 Paraméterek száma 19 var parproba = function (a, b) { console.log('a = ', a); console.log('b = ', b); console.log('arguments = ', arguments); parproba(1, 2); // a = 1 // b = 2 // arguments = [1, 2] parproba(1); // a = 1 // b = undefined // arguments = [1] parproba(1, 2, 3); // a = 1 // b = 2 // arguments = [1, 2, 3]
20 Paraméterlista dinamikus kezelése 20 Minden függvény rendelkezik egy arguments nevű tömbszerű objektummal Változó paraméterszám kezelésére szolgál Nem tömb, csak tömbszerű length tulajdonság Nincsenek tömbmetódusok EcmaScript 5 tömbszerűbbé teszi arguments objektum módosításával a paraméterek értékei is változnak oda-vissza igaz (ES3)
21 arguments példa 21 var osszegzo = function() { var osszeg = 0; for (var i = 0, l = arguments.length; i < l; i += 1) { osszeg += parseint(arguments[i], 10); return osszeg; osszegzo(1,2); // => 3 osszegzo(2,3,4); // => 9
22 arguments tömbösítése 22 Külön függvénnyel Tömbfüggvény kölcsönvételével var args = Array.prototype.slice.call(arguments, 0); //vagy var args = [].slice.call(arguments, 0);
23 ES6 paraméterkezelés 23 Alapértelmezett értékek (tetszőleges kifejezés): function defpars(a, b = 42) { return [a, b]; assertequals( [1, 2], defpars(1, 2) ); assertequals( [1, 42], defpars(1) ); assertequals( [undefined, 42], defpars() ); Változó hosszúságú paraméterlisták: function restpars(a,...others) { return others; assertequals( [2, 3], defpars(1, 2, 3) ); assertequals( [], defpars(1) ); assertequals( [], defpars() );
24 Konfigurációs objektum 24 Függvénynek objektumliterál átadása Függvénytörzsben ellenőrizni var jsablak = function (opts) { if (!opts) opts = {; // ha nem adunk meg opts paramétert, legyen üres objektum opts = { // alapértékek megadása szelesseg: opts.szelesseg 500, magassag: opts.magassag 300, cim: opts.cim 'Névtelen ablak' //... jsablak({ szelesseg: 100, cim: 'Ablakom' );
25 Konfigurációs objektum 25 Előnyei Nem kell a paraméterek sorrendjére emlékezni Opcionális paraméterek kihagyhatók Olvashatóbb, karbantarthatóbb kód Könnyebb hozzáadni, elvenni paramétereket Hátrányai Emlékezni kell a paraméterek nevére Nem tömöríthető (minify) Hasznos DOM elemek készítésénél CSS tulajdonságok megadásánál
26 26 Függvénykifejezés használata
27 Kifejezés használata 27 //literál 6 //értékadás var szam = 6; //Objektum adattagja var obj = { szam: 6 ; //Visszatérési érték var inic = function () { return 6; //Használva 6 //Kifejezés if (6 === 6) { console.log('igaz'); //Függvényparaméter var f = function (p) { return p; f(6);
28 Függvénykifejezés használata 28 //literál function (a, b) { return a * b; //értékadás var szam = function (a, b) { return a * b; ; //Objektum adattagja var obj = { szam: function (a, b) { return a * b; ; //Visszatérési érték var inic = function () { return function (a, b) { return a * b; ; //Használva (function (a, b) { return a * b; )(2, 3); //Kifejezés if ((function (a, b) { return a * b; )(2, 3) === 6) { console.log('igaz'); //Függvényparaméter var f = function (fv, a, b) { return fv(a, b); f(function (a, b) { return a * b;, 2, 3);
29 29 Önkioldó függvény Névterek, privát névtér, névtér függvény
30 Globális névtér 30 Minden függvényen kívül létrehozott változó a globális névtér része Ez a böngésző esetében a window objektum Minél kevesebb globális változónk legyen a névütközések, felüldefiniálások elkerülése végett var mit = function() { window.globalis = 'Juppi, globális vagyok'; // közvetlen a globális névtérbe hozzuk létre return 'azt'; mit(); // => 'azt' window.mit(); // => 'azt' console.log(globalis); // => 'Juppi, globális vagyok' console.log(window.globalis); // => 'Juppi, globális vagyok'
31 Globális névtér 31 /* TELJESEN EGYEDI ALKALMAZÁSOM */ var megy = function() { return 'ÉS MÉG MEGY!';, megall = function() { return '...ÉS MEGÁLL'; ; megy(); // => 'ÉS MÉG MEGY!' megall(); // => '...ÉS MEGÁLL' //... // Később, ugyanabban a kódban előfordulhat: /* XY. BÉLA GONOSZ ALKALMAZÁSA */ var megy = function() { return 'Béla a király!'; megy(); // => 'Béla a király!', felülírta az én alkalmazásom függvényét
32 Saját névtér 32 Változó hatóköre az őt deklaráló függvény Ezzel névterek létrehozhatók Függvényen belül definiált változók, függvények nem befolyásolják a program ezen kívüli részét /* MAJDNEM EGYEDI NÉVTÉRBEN TELJESEN EGYEDI ALKALMAZÁSOM */ var duracellnyuszi = function() { var megy = function() { return 'ÉS MÉG MEGY!';, megall = function() { return '...ÉS MEGÁLL'; ; megy(); // => 'ÉS MÉG MEGY!' megall(); // => '...ÉS MEGÁLL' duracellnyuszi(); // Most már akárhogy gonoszkodhat XY. Béla, nem tud belenyúlni az ő alkalmazásával a miénkbe.
33 Önkioldó függvény 33 Ha csak a névtér miatt hozzuk létre a függvényt, akkor felesleges nevesíteni, hiszen csak a globális névteret szennyezzük vele önkioldó névtelen függvény: olyan függvény, amit létrehozás után rögtön futtatunk is Később nem tudunk rá hivatkozni Példa Oldalbetöltődéskor eseménykezelők definiálása, objektumok létrehozása Temporális változók
34 Önkioldó függvény 34 A) Önkioldó függvény definiálása /* TELJESEN EGYEDI NÉVTÉRBEN TELJESEN EGYEDI ALKALMAZÁSOM */ (function() { var megy = function() { return 'ÉS MÉG MEGY!';, megall = function() { return '...ÉS MEGÁLL'; ; megy(); // => 'ÉS MÉG MEGY!' megall(); // => '...ÉS MEGÁLL' ()); B) Önkioldó függvény paraméterezése (function(a, b) { console.log(a+b); (1,2)); // => 3 C) Önkioldó függvény visszatérési értéke var ize = (function(str) { return str; ('bize')); console.log(ize); // => 'bize'
35 35 Függvény mint paraméter Callback minta
36 Függvény mint paraméter 36 A függvények objektumok, így átadhatók paraméterként Sokrétű, általános logikájú függvények kaphatók A paraméterként megkapott függvényt visszahívja callback függvény, callback minta Felhasználása Eseménykezelők Időzítők Függvénykönyvtárak
37 Függvény mint paraméter 37 var showhero = function(name, callback) { console.log("i'm " + name); if (callback) { callback(); ; showhero('superman', function() { console.log('callback invoked!'); ); // => "I'm Superman" // => "Callback invoked!"
38 Függvény mint paraméter 38 var egyenletmegoldo = function(a, b, muvelet) { var vegeredmeny; if (!muvelet typeof muvelet!== 'function') { console.log('nem adott meg műveletet!'); return false; console.log('művelet a(z)', a, 'és a', b, 'értékeken!'); vegeredmeny = muvelet(a,b); console.log('az eredmény: ', vegeredmeny); return vegeredmeny; egyenletmegoldo(3,4); // => false, a logban: 'Nem adott meg műveletet!' // Egyszerű szorzás egyenletmegoldo(3,4, function(a,b) { return a * b; ); // => 10, a logban: Művelet a(z) 3 és a 4 értékeken! Az eredmény: 12
39 Függvény mint paraméter 39 Időzítőben Külön függvényként csak a referenciát kell átadni Eseménykezelőknél is //Külön függvényként var elkesem = function () { console.log('500ms-ot késtem...'); ; settimeout(elkesem, 500); //Függvényliterállal settimeout(function () { console.log('500ms-ot késtem...');, 500);
40 Paraméteres callback 40 var numarray = [1,2,3].map(function(el) { return el * 2; ); assertequals([2, 4, 6], numarray);
41 41 Függvény mint visszatérési érték
42 Függvény mint visszatérési érték 42 Függvények objektumok, ezért visszaadhatóak Függvény visszatérési értéke függvény Függvénygenerátorok var setup = function () { console.log(1); return function () { console.log(2); ; ; var fv = setup(); // 1 fv(); // 2
43 Függvény mint visszatérési érték 43 Mi van abban az esetben, ha a külső függvény egy lokális változójára hivatkozom? var setup = function () { var lokalis = 1; return function () { console.log(lokalis); ; ; var fv = setup(); fv(); //???
44 44 Closure
45 Closure 45 Zárlat, lexikális scope Belső függvény hivatkozhat a külső függvény változóira (függvény scope) az után is, hogy a külső függvény már lefutott Egy változó addig marad életben, amíg esély van arra, hogy bárki használja őket Closure egy környezet, amiben a változók definiálva vannak Szemétgyűjtő szabadítja fel, ha nincs rá referencia
46 Closure - példák 46 Függvény mint visszatérési érték Időzítő var setup = function () { var lokalis = 1; return function () { console.log(lokalis); ; ; var fv = setup(); fv(); // 1 var valogatott = function() { var statusz = 'Győztünk!'; var mitortent = function() { console.log(statusz); settimeout(mitortent, 1000); valogatott(); // 1mp múlva megjelenik: 'Győztünk!'
47 Függvényalkotó 47 Egymáshoz hasonló feladatoknál a paraméter //Sokszor megadásának ugyanolyan kiváltására paraméterrel használt függvény var hozzaad = function (mihez, mit) { return mihez + mit; console.log(hozzaad(1000, 42)); //1042 console.log(hozzaad(1000, 111)); //1111 //Függvényalkotó var specialishozzaadotalkoto = function(mit) { return function(mihez) { return mihez + mit; var hozzaad1000 = specialishozzaadotalkoto(1000); console.log(hozzaad1000(42)); //1042 console.log(hozzaad1000(111)); //1111
48 Closure hátrányai 48 Például ciklusnál (function() { var i; for (i = 0; i < 3; i += 1) { settimeout(function () { console.log(i);, 500); )(); //Output // 3 // 3 // 3
49 49 Függvény mint objektum
50 Függvény mint objektum 50 A függvények is objektumok: vannak adattagjaik és metódusaik prototype: egy objektum, aminek egyetlen constructor nevű adattagja a függvényre mutat length: függvény formális paramétereinek száma apply(): ld. később f.prototype constructor call(): ld. később Két rejtett attribútum f() függvény kontextusa (ld. closure) prototype függvény kódja Az egyetlen különlegessége a függvényeknek az objektumokhoz képest, hogy meghívhatók
51 Függvény mint objektum 51 var fgvobj = function () { return 'Meghívtál, visszatértem'; ; //Saját adattagok hozzáadása fgvobj.adat = 'Adat vagyok'; fgvobj.metodus = function () { return this.adat; ; console.log(fgvobj()); //'Meghívtál, visszatértem' console.log(fgvobj.metodus()); //'Adat vagyok'
52 Memoization minta 52 Költséges művelet eredményének tárolása var myfunc = function () { var cachekey = JSON.stringify(Array.prototype.slice.call(arguments)), result; if (!myfunc.cache[cachekey]) { result = {; //... expensive operation... myfunc.cache[cachekey] = result; return myfunc.cache[cachekey]; ; // cache storage myfunc.cache = {; var myfunc = function (param) { if (!myfunc.cache[param]) { var result = {; //... expensive operation... myfunc.cache[param] = result; return myfunc.cache[param]; ; // cache storage myfunc.cache = {;
53 53 A this jelentése
54 Függvényhívási minták 54 Függvények hívásakor minden függvény két további paramétert kap a deklarált paraméterek mellé this arguments A this értéke a függvényhívás módjától függ Függvényhívási minták Metódushívási minta Függvényhívási minta Alkalmazkodó függvényhívási minta Konstruktorhívási minta
55 Globális kontextus 55 // A böngészõkben a globális objektum a window assertequals(this, window); this.hero = 'Superman'; assertequals('superman', window.hero);
56 Metódushívási minta 56 Ha a függvény egy objektum adattagja, akkor metódusnak hívjuk A this az adott objektumra mutat var facebook = { tagok: ['Tamás', 'Thomas', 'Tuomas', 'Etelka'], regisztraltak: function() { return this.tagok; //Metódushívás: facebook.regisztraltak(); // => ["Tamás", "Thomas", "Tuomas", "Etelka"]
57 Függvényhívási minta 57 Ha egy függvény nem metódusa egy objektumnak, akkor a globális névtérben jön létre Hagyományos függvények A globális objektum (window) része lesz this: undefined(strict mode) vagy globális (egyéb) var fgv = function () { console.log(this); //Függvényhívási minta fgv(); //window console.log(fgv === window.fgv); window.fgv = function () { console.log(this); //Függvényhívási minta window.fgv(); //window console.log(fgv === window.fgv);
58 Hívás módja a lényeg 58 var hero = { name: 'Superman' ; function getname() { return this.name; ; // A függvényre mutató referenciát később adjuk hozzá a // hero objektumhoz, ha így, metódusként hívjuk meg // akkor a this az objektumra fog mutatni: hero.getname = getname; assertequals('superman', hero.getname()); assertequals(undefined, getname());
59 Függvényhívási minta 59 Belső függvényben a this a globális objektumra mutat (nyelvtervezési hiba ES5 strict mode) var name = 'Sugarman', hero = { name: 'Superman', getintroductionhtml: function() { var formattedname = function(tag) { return '<' + tag + '>' + this.name + '</' + tag + '>'; ; return '<div class="name">' + formattedname('span') + '</div>'; ; assertequals('<div class="name"><span>sugarman</span></div>', hero.getintroductionhtml());
60 Függvényhívási minta 60 Megoldás: this kimentése _this, that, self vagy strict mode TypeError var name = 'Sugarman', hero = { name: 'Superman', getintroductionhtml: function() { var that = this; var formattedname = function(tag) { return '<' + tag + '>' + that.name + '</' + tag + '>'; ; return '<div class="name">' + formattedname('span') + '</div>'; assertequals('<div class="name"><span>superman</span></div>', hero.getintroductionhtml());
61 Alkalmazkodó függvényhívási minta 61 Függvénynek lehetnek saját metódusai A call() és apply() segítségével megmondhatjuk, hogy a függvény this paramétere melyik objektumra mutasson (első paraméterük) apply() második paramétere argumentumok tömbje call() 2., 3., stb. paramétere a függvény 1., 2., stb. paramétere lesz bind(): a függvény kontextusát véglegesen a paraméterül megadott objektumhoz köti
62 Alkalmazkodó függvényhívási minta 62 var facebook = { tagok: ['Tamás', 'Thomas', 'Tuomas', 'Etelka'], regisztraltak: function() { return this.tagok; var iwiw = { tagok: ['Csobilla', 'Csende', 'Cseperke'] var tagok = ['Géza', 'Gizi']; facebook.regisztraltak(); // => ['Tamás', 'Thomas', 'Tuomas', 'Etelka'] facebook.regisztraltak.apply(iwiw); // => ["Csobilla", "Csende", "Cseperke ]
63 Alkalmazkodó függvényhívási minta 63 Ha nem számít a this Csak a paraméterezés var numbers = [5, 6, 2, 3, 7]; // Keressük meg a legnagyobb értéket a tömbben. A // Math.max paramétereiben számokat vár, és azok // közül választja ki a legnagyobbat. Az apply tökéletes // választás, hiszen a tömböt argumentumokra bontja // és így hívja meg a Math.max-ot: var max = Math.max.apply(null, numbers); assertequals(7, max); //ES6 spread operator var numbers = [5, 6, 2, 3, 7]; var max = Math.max(...numbers); assertequals(7, max);
64 Alkalmazkodó függvényhívási minta 64 var name = 'Sugarman', hero = { name: 'Superman', getintroductionhtml: function() { var formattedname = (function(tag) { return '<' + tag + '>' + this.name + '</' + tag + '>'; ).bind(this); return '<div class="name">' + formattedname('span') + '</div>'; assertequals( '<div class="name"><span>superman</span></div>', hero.getintroductionhtml());
65 Lambda kifejezés kontextusa (ES6) 65 Mindig az az scope, amiben definiáltuk var hero = { name: 'Superman', getintroductionhtml: function() { var name = (tag) => '<' + tag + '>' + this.name + '</' + tag + '>'; return '<div class="name">' + name('span') + '</div>'; assertequals( '<div class="name"><span>superman</span></div>', hero.getintroductionhtml());
66 Konstruktorhívási minta 66 Mivel nincsenek osztályok, ezért az operandusául kapott függvény lefuttatásával új objektumot hoz létre this egy olyan objektumra mutat, amelyet a függvény visszaad a new operátornak var Facebook = function () { this.tagok = ['Tamás', 'Thomas', 'Tuomas', 'Etelka']; this.regisztraltak = function () { return this.tagok; var a = new Facebook(); a.regisztraltak(); // => ["Tamás", "Thomas", "Tuomas", "Etelka"]
67 Összefoglalás 67 Függvények létrehozása Változók a függvényekben Függvények paraméterezése Függvénykifejezés használata Önkioldó függvény Függvény mint paraméter Függvény mint visszatérési érték Closure A függvény mint objektum A this jelentése
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
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 Objektumok 2 Szinte minden objektum Alapkoncepció objektum-orientáltság
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
SZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek
SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL
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 Ismétlés objektumok létrehozása 2 Két alappillér Objektumok dinamikussága
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
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
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)
A JavaScript főbb tulajdonságai
JavaScript alapok A JavaScript főbb tulajdonságai Script nyelv azaz futás közben értelmezett, interpretált nyelv Legfőbb alkalmazási területe: a HTML dokumentumok dinamikussá, interaktívvá tétele Gyengén
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
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
C++ referencia. Izsó Tamás február 17. A C++ nyelvben nagyon sok félreértés van a referenciával kapcsolatban. A Legyakoribb hibák:
C++ referencia Izsó Tamás 2017. február 17. 1. Bevezetés A C++ nyelvben nagyon sok félreértés van a referenciával kapcsolatban. A Legyakoribb hibák: Sokan összetévesztik a pointerrel. Keveset alkalmazzák
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,
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
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:
Programozás módszertan
Programozás módszertan p. Programozás módszertan Operátorok túlterhelése a C++ nyelvben Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA TANSZÉK Bevezetés Programozás
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
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,
Bevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
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
Apple Swift kurzus 3. gyakorlat
Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Programozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
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
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
Programozás BMEKOKAA146. Dr. Bécsi Tamás 5. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 5. előadás Tömbök átméretezése public static void Resize( ref T[] array, int newsize ) Példa: int[] a=new int[20]; Array.Resize(ref a, 22); 2016. 10. 19.
Smalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva
Smalltalk 3. Osztályok létrehozása Készítette: Szabó Éva Metaosztály fogalma Mint korában említettük, a Smalltalkban mindent objektumnak tekintünk. Még az osztályok is objektumok. De ha az osztály objektum,
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
Java III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
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
C programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
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
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
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
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak
8. gyakorlat Pointerek, dinamikus memóriakezelés
8. gyakorlat Pointerek, dinamikus memóriakezelés Házi ellenőrzés Egy számtani sorozat első két tagja A1 és A2. Számítsa ki a sorozat N- dik tagját! (f0051) Egy mértani sorozat első két tagja A1 és A2.
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:
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
é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
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
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
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
Objektumorientált Programozás VI.
Objektumorientált Programozás Metódusok Paraméterek átadása Programozási tételek Feladatok VI. ÓE-NIK, 2011 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
Java III. I I. Osztálydefiníció (Bevezetés)
Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban
A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása
A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési
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
1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
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
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 2 Programozási minták Programozási minták 3 Jól bevált, újrahasznosítható,
Bevezetés a Programozásba II 2. előadás. Adattípusok megvalósítása egységbe zárással. Adattípusok megvalósítása egységbe zárással
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 2. előadás Adattípusok megvalósítása egységbe zárással 2014.02.17. Giachetta Roberto groberto@inf.elte.hu
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
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ú
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?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
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:
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Sztringek Osztályok alapjai Sztringek Szöveges adatok kezelése Sztring Karakterlánc (string): Szöveges adat Karaktertömbként tárolva A szöveg végét a speciális
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ö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
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:
A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 Oktatóanyag 2 Az oktatás folyamán használt példák a fent látható egyszerű modell implementációi. Oktatóanyag 3 A definíciós részben definiálja a fejlesztő az egyes attribútumokat, metódusokat,
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
Programozási nyelvek Java
-en objektumot tárolunk. Automatikus változók Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás - végrehajtási vermen (execution stack) jönnek létre - alprogramok
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
Python tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
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
Függvények. Programozás I. Hatwágner F. Miklós november 16. Széchenyi István Egyetem, Gy r
Programozás I. Széchenyi István Egyetem, Gy r 2014. november 16. Áttekintés kel kapcsolatos fogalmak deklaráció Több, kompatibilis változat is elképzelhet. Meg kell el znie a fv. hívását. Mindenképp rögzíti
A C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
Gregorics Tibor Modularizált programok C++ nyelvi elemei 1
Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Függvények és paraméterátadás A függvény egy olyan programblokk, melynek végrehajtását a program bármelyik olyan helyéről lehet kezdeményezni
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
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
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
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
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:
Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók
Haskell 1. Alapok tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók elég jól elkerülhetők így a mellékhatások könnyebben
A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük.
Függvények A függvények névvel rendelkező utasításcsoportok, melyeknek információkat adhatunk át, és van egy visszatérési értékük. Mint egy dzsinn: Hogyan is "használunk" egy dzsinnt? megszólítjuk megmondjuk,
A C programozási nyelv III. Pointerek és tömbök.
A C programozási nyelv III. Pointerek és tömbök. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv III. (Pointerek, tömbök) CBEV3 / 1 Mutató (pointer) fogalma A mutató olyan változó,
Programozás alapjai. 7. előadás
7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való
Programozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
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ó
Programozás C és C++ -ban
Programozás C és C++ -ban 2. További különbségek a C és C++ között 2.1 Igaz és hamis A C++ programozási nyelv a C-hez hasonlóan definiál néhány alap adattípust: char int float double Ugyanakkor egy új
Bevezetés a programozásba. 9. Előadás: Rekordok
Bevezetés a programozásba 9. Előadás: Rekordok ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double terulet(double
Rekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
Informatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
Programozás I. 5. Előadás: Függvények
Programozás I 5. Előadás: Függvények Függvény Egy alprogram Egy C program általában több kisméretű, könnyen értelmezhető függvényből áll Egy függvény megtalálható minden C programban: ez a main függvény
C++ programozási nyelv Konstruktorok-destruktorok
C++ programozási nyelv Konstruktorok-destruktorok 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/20 Tartalomjegyzék
Bevezetés a programozásba. 8. Előadás: Függvények 2.
Bevezetés a programozásba 8. Előadás: Függvények 2. ISMÉTLÉS Helló #include using namespace std; int main() cout
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
OOP alapok Egy OOP nyelvet három fontos dolog jellemez. egységbezárás ( encapsulation objektumoknak öröklés ( inheritance
Az objektum-orientált programozás (röviden OOP) a természetes gondolkodást, cselekvést közelítő programozási mód, amely a programozási nyelvek tervezésének természetes fejlődése következtében alakult ki.
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
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,
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"
.Net adatstruktúrák. Készítette: Major Péter
.Net adatstruktúrák Készítette: Major Péter Adatstruktúrák általában A.Net-ben számos nyelvvel ellentétben nem kell bajlódnunk a változó hosszúságú tömbök, listák, sorok stb. implementálásával, mert ezek
Programozási nyelvek a közoktatásban alapfogalmak II. előadás
Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási