OOP: Java 5.Gy: Osztály, referencia, konstruktor

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

Download "OOP: Java 5.Gy: Osztály, referencia, konstruktor"

Átírás

1 OOP: Java 5.Gy: Osztály, referencia, konstruktor 36/1 B ITv: MAN

2 Osztály fogalma A Circle osztály definíciója: public class Circle { private int cx; private int cy; private int rad; public Circle(int cx, int cy, int rad){ this.cx = cx; this.cy = cy; this.rad = rad; public String tostring(){ return "C=["+cx+","+cy+": "+rad+"]"; Egységbezárás: Az osztály az adatait és a metódusait egy egységként 36/2 kezeli, és elzárja őket a külvilágtól. Tulajdonságok: adattagok Kezelők: metódusok Adattagok Metódusok Osztály

3 Java típusok A Java nyelv típusai: Elemi (primitív) típusok: (csak 8 féle van!) byte, short, int, long, float, double, boolean, char Egy értéket tárolnak, a változó neve maga az érték Referencia (hivatkozás) típusok: az összes többi típus ilyen: Az érték nem közvetlenül a változóban tárolódik el, (összetett adatszerkezet, több érték) hanem egy objektumban, amit egy hivatkozás kapcsol össze a változóval. int[] t = new int[5]; Circle c = new Circle(2,5,6); Circle c /3 Az így létrejövő változókat referencia változónak nevezzük.

4 Referencia változók használata Deklaráció: Circle c; Circle c Ilyenkor létrejön egy referencia változó, de nem jön létre objektum. A változó értéke null lesz, vagyis a hivatkozása (referenciája) nem mutat objektumra. Példányosítás: c = new Circle(2,5,6); Circle c A new operátor hatására létrejön egy új objektum (egy osztály új példánya), és a változó hivatkozása (referenciája) beállítódik az objektumra. Példányosításkor lefut az osztály konstruktora, és inicializálja az objektumot (beállítja a kezdőértékét). 36/4

5 Konstruktor A konstruktor: speciális metódus, amelyet nem lehet meghívni normál módon, hanem automatikusan hívódik meg az osztály példányosításakor. Szerepe az objektum induló állapotának beállítása (pl. adattagok inicializálása). A konstruktor szintaktikája: 36/5 módosítók azonosító (paraméterlista) { utasítások Metódushoz hasonló szintaktika, de Az azonosító kötelezően az osztály neve kell legyen Nincs visszatérési érték típus megadás (semmilyen) Lehetnek paraméterei, amelyeknek a példányosításkor adhatunk meg értékeket. A példányosítás során (new operátor) automatikusan, pontosan egyszer hajtódik végre, többször nem használható.

6 Konstruktor public class Circle { private int cx; private int cy; private int rad; Több konstruktor is lehet egy osztályban public Circle(int cx, int cy, int rad){ this.cx = cx; this.cy = cy; this.rad = rad; public Circle(){ this(0,0,1); Ha ugyanaz a paraméter neve, mint az adattag neve, a paraméter elfedi az adattag értékét. Ekkor a this minősítővel lehet az adattagot kijelölni. A this minősítő használható arra is, hogy osztályon belül egy ugyanolyan típusú másik metódusra hivatkozzunk. A this itt egy másik konstruktorra utal. Circle c1 = new Circle(); 36/6

7 Konstruktor súlyos hiba! public class Circle { private int cx; private int cy; private int rad; public Circle(int cx, int cy, int rad){ cx = cx; cy = cy; rad = rad; public String tostring(){ return "C=["+cx+","+cy+": "+rad+"]"; Ha nem alkalmazzuk a this minősítőt, a fordító nem jelez hibát, lefordítja a kódot, de az adattagok nem kapnak értéket! Figyelni kell a színeket az Eclipse-ben! Circle c1 = new Circle(3,4,8); System.out.println(c1); C=[0,0: 0] 36/7

8 tostring() public class Circle { private int cx; private int cy; private int rad; Minden osztály közös ősosztálya az Object osztály, ezért minden osztály örökli az ebben definiált tostring() metódust A tostring() metódus az osztályt szövegesen reprezentálja Ha nincs felüldefiniálva, osztálynév@egyedipéldányazonosító alakban jeleníti meg az információt: Circle c1 = new Circle(3,4,8); System.out.println(c1); Circle@4aa8f0b4 36/8

9 tostring() public class Circle { private int cx; private int cy; private int public String tostring(){ return "C=["+cx+","+cy+": "+rad+"]"; Felüldefiniáláskor jelezhető de nem kötelező! Fontos: a metódusnak mindig tostring a neve, sosincs bemenő paramétere, mindig public, és mindig String típusú! Circle c1 = new Circle(3,4,8); System.out.println(c1); C=[3,4: 8] 36/9

10 36/10

11 Feladat Készítsen egy Téglalap osztályt két adattaggal az oldalak tárolásához (egészek). Írjon konstruktort, amely két paraméterként kapott értékkel inicializál. Írjon konstruktort, amely, amely egy paraméterként kapott értékkel inicializálja mindkét adattagot (négyzet). Írjon metódust, amely visszaadja a területet. Írjon metódust, amely egy String-be összefűzve adja vissza a téglalap adatait a következő alakban: "a_oldal, b_oldal: terület". Írjon setter metódust, amely beállítja a téglalap oldalait a paraméterként kapott két értékkel. Írjon setter metódust, amely beállítja a téglalap oldalait a paraméterként kapott egyetlen értéket adva mindkét oldalnak. Írjon metódust, amely igazat ad, ha a téglalap nagyobb területű, mint a paraméterként kapott téglalap, hamisat ad ha nem. Írjon metódust, amely igazat ad, ha a téglalap oldalai megegyeznek a paraméterként kapott téglalap oldalaival, hamisat ha nem. 36/11

12 A Rectangle osztály kódja public class Rectangle { int a; //private int b; //private public Rectangle(int a, int b) { this.a = a; this.b = b; public Rectangle(int side) { this.a = side; this.b = side; public int getarea() { return Rectangle [a=1, b=2, Area=2] public String tostring() { return "Rectangle [a=" + a + ", b=" + b + ", Area=" + getarea() + "]"; 36/12

13 A Rectangle osztály kódja public void setsides(int a, int b) { this.a = a ; this.b = b; public void setsides(int side) { this.a = side; this.b = side; public boolean hasbiggerarea(rectangle rectangle) { if(this.getarea()>rectangle.getarea()) { return true; else return false; public boolean hasbiggerarea(rectangle r) { return getarea() > r.getarea(); 36/13

14 A Rectangle osztály kódja public boolean isequal(rectangle rectangle) { if( (this.geta() == rectangle.geta()) && (this.getb() == rectangle.getb()) ) { return true; else return false; public int geta() { return a; public int getb() { return b; public boolean isequal(rectangle r) { return a == r.a && b == r.b; 36/14

15 Feladat Készítsen egy futtatható osztályt, amely a Téglalap osztályt használja. Hozzon létre két téglalap objektumot ("a" és "b"), és deklaráljon egy harmadik referencia változót ("c"), amely értékül "a"-t veszi fel. Írja ki mindhárom referencia változó esetén a String-be összefűzött adatokat. Változtassa meg "a" oldalait és írja ki újra mindhárom referencia adatait. Változtassa meg "a" oldalait úgy, hogy az megegyezzen "b" oldalaival. Írja ki az (a == b) és az (a == c) kifejezések értékét. Ezután "a" és "b" összehasonlítására használja az utoljára definiált metódust - amely igazat ad, ha a téglalap oldalai megegyeznek a paraméterként kapott téglalap oldalaival, hamisat ha nem. 36/15

16 A RectangleTest osztály kódja public class RectangleTest { public static void main(string[] args) { Rectangle a = new Rectangle(1,2); Rectangle b = new Rectangle(3); Rectangle c = a; System.out.println(a+ "\n"+ b + "\n"+ c); a.setsides(4); System.out.println(a+ "\n"+ b + "\n"+ c); a.setsides(3); System.out.println("a==b : "+(a==b)); System.out.println("a==c : "+(a==c)); System.out.println( "\na.isequal(b) : "+ a.isequal(b)); Rectangle [a=1, b=2, Area=2] Rectangle [a=3, b=3, Area=9] 36/16 Rectangle [a=1, b=2, Area=2] Rectangle [a=4, b=4, Area=16] Rectangle [a=3, b=3, Area=9] Rectangle [a=4, b=4, Area=16] a==b : false a==c : true a.isequal(b) : true

17 Feladat Készítsen egy futtatható osztályt, amelyben létrehoz 10 darab Téglalap típusú objektumot és eltárolja a referenciájukat egy tömbben, véletlenszerűen generálva az oldalaikat a 2-10 tartományban. Írja ki az összes téglalap adatait String-be összefűzve. Írja ki a legkisebb területű téglalap adatait. Hozzon létre egy új téglalapot, amelynek az adatait beolvassa. Számolja meg az ettől nagyobb területű téglalapokat. Írja ki az első olyan téglalapnak az indexét, amelynek az oldalai megegyeznek a beolvasott téglalapéval, vagy ha nincs ilyen, akkor azt hogy "nincs egyező". 36/17

18 A RectangleTest osztály kódja import java.util.scanner; import java.util.random; public class RectangleTest { public static void main(string[] args) { Rectangle[] rectanglearray = new Rectangle[10]; for(int i=0; i<rectanglearray.length; i++) { rectanglearray[i]= new Rectangle( (int)((math.random()*9)+2), (int)((math.random()*9)+2) ); for (Rectangle rectangle : rectanglearray) { System.out.println(rectangle); System.out.println("Smallest rectangle: " + rectanglearray[getminrectangle(rectanglearray)]); 36/18

19 A RectangleTest osztály kódja //new rectangle Scanner input = new Scanner(System.in); System.out.println("New rectangle : "); System.out.println("a = "); int a = input.nextint(); System.out.println("b = "); int b = input.nextint(); Rectangle newrectangle = new Rectangle(a,b); System.out.println("Number of bigger rectangles: " + countsmallerrectangles(rectanglearray, newrectangle)); if (searchequalrectangle(rectanglearray, newrectangle)<0) System.out.println("There's no rectangle with equal sides"); else System.out.println("Rectangle with equal sides: " + (searchequalrectangle(rectanglearray, newrectangle)+1) + "."); //== main vége 36/19

20 A RectangleTest osztály kódja public static int getminrectangle(rectangle[] rectanglearray) { int minindex = 0; for (int i = 1; i < rectanglearray.length; i++) { if (rectanglearray[i].getarea() < rectanglearray[minindex].getarea()) { minindex = i; return minindex; public static int countsmallerrectangles(rectangle[] rectanglearray, Rectangle ref) { int counter = 0; for (int i = 0; i < rectanglearray.length; i++) { if (rectanglearray[i].getarea() > ref.getarea()) counter++; return counter; 36/20

21 A RectangleTest osztály kódja public static int searchequalrectangle(rectangle[] rectanglearray, Rectangle ref) { int index = -1; for (int i = 1; i < rectanglearray.length; i++) { if (ref.isequal(rectanglearray[i])) { index = i; break; return index; //== osztály vége 36/21

22 A RectangleTest osztály kódja Rectangle [a=8, b=3, Area=24] Rectangle [a=8, b=6, Area=48] Rectangle [a=8, b=6, Area=48] Rectangle [a=7, b=5, Area=35] Rectangle [a=7, b=4, Area=28] Rectangle [a=2, b=8, Area=16] Rectangle [a=8, b=9, Area=72] Rectangle [a=5, b=3, Area=15] Rectangle [a=2, b=7, Area=14] Rectangle [a=8, b=5, Area=40] Smallest rectangle: Rectangle [a=2, b=7, Area=14] New rectangle : a = 4 b = 6 Number of bigger rectangles: 6 There's no rectangle with equal sides 36/22

23 36/23

24 Feladat Készítsen egy Hanglemez osztályt, melynek adattagjai az előadó, a cím és a hossz (egész). Írjon konstruktort, amely a paraméterként kapott értékekkel inicializálja az adattagokat. Írjon metódust, amely egy String-ben összefűzve adja vissza a lemez adatait a következő alakban "Elődó: Cim, hossz perc". Írjon metódust, amely 1-t ad vissza, ha a lemez hosszabb, mint a paraméterként kapott lemez, -1-et ad vissza, ha a paraméterként kapott a hosszabb és 0-t ad, ha egyforma hosszúak. Írjon metódust, amely paraméterként egy előadót kap (String) és igazat ad, ha a lemeznek ő az előadója. (A String-ek tartalmi egyezőségének vizsgálatára használja a String osztály equals() vagy equalsignorecase() metódusát.) Az adattagok értékének lekérdezésére írjon getter metódusokat. Készítsen egy futtatható osztályt, amelyben létrehoz és tömbben tárol beolvasott számú beolvasott adatú hanglemezt. Írja ki a leghosszabb lemez 36/24 adatait. Írja ki egy beolvasott nevű előadó lemezeit.

25 A Record osztály kódja public class Record { private String artist; private String title; private int lenght; public Record(String artist, String title, int lenght) { super(); this.artist = artist; this.title = title; this.lenght = lenght; public String tostring() { return artist + ": " + title + ", lenght= " + lenght + " minutes"; public int comparelength(record record) { if (lenght == record.lenght) return 0; else if (lenght > record.lenght) return 1; else return -1; 36/25

26 A Record osztály kódja public boolean checkartist(string artist) { return this.artist.equals(artist); public String getartist() { return artist; public void setartist(string artist) { this.artist = artist; public String gettitle() { return title; public void settitle(string title) { this.title = title; public int getlenght() { return lenght; public void setlenght(int lenght) { this.lenght = lenght; 36/26

27 A RecordTest osztály kódja import java.util.scanner; public class RecordTest { public static void main(string[] args) { Scanner input = new Scanner(System.in); System.out.println("Number of records: "); int numberofrecords= input.nextint(); input.nextline(); 36/27 Record[] recordarray= new Record[numberOfRecords]; for (int i = 0; i < recordarray.length; i++) { System.out.println( (i+1) + ". record: "); System.out.println("Artist: "); String artist = input.nextline(); System.out.println("Title: "); String title = input.nextline(); System.out.println("Length: "); int lenght = input.nextint(); input.nextline(); recordarray[i] = new Record(artist, title, lenght);

28 A RecordTest osztály kódja System.out.println("Longest record: " + recordarray[findmaxlength(recordarray)]); System.out.println("Longest record: " + recordarray[findmaxlengthwithcomparator(recordarray)]); System.out.println("Please enter an artist name: "); String artist = input.nextline(); System.out.println("Records of " + artist); for (Record record : recordarray) { if (record.checkartist(artist)) { System.out.println(record.getTitle()); //== End of main 36/28

29 A RecordTest osztály kódja public static int findmaxlength(record[] recordarray) { int maxindex = 0; for (int i = 1; i < recordarray.length; i++) { if(recordarray[i].getlenght() > recordarray[maxindex].getlenght()) { maxindex = i; return maxindex; public static int findmaxlengthwithcomparator(record[] recordarray) { int maxindex = 0; for (int i = 0; i < recordarray.length-1; i++) { switch (recordarray[i].comparelength(recordarray[i+1])) { case 1 : maxindex = i; break; case -1: maxindex = i+1; return maxindex; 36/29

30 A RecordTest osztály kódja 36/30 Number of records: 3 1. record: Artist: Jenőke Title: Zene Length: record: Artist: Rózsi Title: Gyertyák Length: record: Artist: Dizsike Title: Dizsike Length: 112 Longest record: Dizsike: Dizsike, lenght= 112 minutes Longest record: Dizsike: Dizsike, lenght= 112 minutes Please enter an artist name: Rózsi Records of Rózsi Gyertyák

31 36/31

32 Házi feladat 1. Egészítse ki az előző héten definiált Alkalmazott osztályt 2 konstruktorral: 36/32 Az egyik konstruktornak az alkalmazott nevét és fizetését kell megadni, a másik konstruktornak az alkalmazott nevét, a fizetése Ft. A második konstruktor használja fel az elsőt! Definiálja felül a tostring metódust. Módosítsa az Alkalmazottat használó osztályt ennek megfelelően. 2. Egészítse ki az előző héten definiált Könyv osztályt 2 konstruktorral: Az egyik konstruktornak a könyv minden adatát meg kell adni, a másiknak csak a szerzőt és a címet, az ár 2500 Ft, a megjelenés éve pedig az aktuális év. Definiálja felül a tostring metódust. Módosítsa a Könyv osztályt használó osztályt ennek megfelelően.

33 Egy kis segítség Dátumok kezelése (ez volt kezdetekben): inport java.util.calendar; Calendar cal = Calendar.getInstance(); int year = cal.get(calendar.year); System.out.println(year); 2019 Calendar: Félrevezető nevű osztály. Egy időpillanatot ábrázol, ezredmásodperc pontossággal. Az egyes időpont részek kiolvashatók, beállíthatók. Calendar.getInstance(): Aktuális időpont lekérdezése. Calendar.get(xxx): Az időpont egy meghatározott részének lekérdezése. Minden rész lekérdezhető (pl. month, day_of_year, hour_of_day, minute ) Calendar.set(xxx): Az egyes részek beállítása. java.util.gregoriancalendar[time= ,arefieldsset=true,areallfieldsset=true,lenient=true,zone=sun.util.cal endar.zoneinfo[id="europe/prague",offset= ,dstsavings= ,usedaylight=true,transitions=143,lastrule=ja va.util.simpletimezone[id=europe/prague,offset= ,dstsavings= ,usedaylight=true,startyear=0,startmo de=2,startmonth=2,startday=- 1,startDayOfWeek=1,startTime= ,startTimeMode=2,endMode=2,endMonth=9,endDay=- 1,endDayOfWeek=1,endTime= ,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEA R=2019,MONTH=2,WEEK_OF_YEAR=10,WEEK_OF_MONTH=1,DAY_OF_MONTH=10,DAY_OF_YEAR=69,DAY_OF _WEEK=1,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=8,HOUR_OF_DAY=8,MINUTE=31,SECOND=46,MILLI 36/33 SECOND=263,ZONE_OFFSET= ,DST_OFFSET=0]

34 Egy kis segítség Dátumok kezelése (ez van ma): inport java.time.localdate; LocalDate today = LocalDate.now(); System.out.println(today); int year = today.getyear(); System.out.println(year); LocalDate: A 8-as Java verzióban bevezetett logikus nevű, szabványos dátumés idő kezelő osztály. 36/34

35 36/35

36 VÉGE VÉGE 36/36

4. Gy: JAVA osztályok

4. Gy: JAVA osztályok Objektum Orientált Programozás 4. Gy: JAVA osztályok 25/1B IT MAN B IT v: 2016.02.24 MAN Feladatok 1. Készítsen egy Teglalap osztályt - legyen adattagja a két oldal tárolására (egészek) - legyen konstruktora,

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

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés OOP: Java 6.Gy: Java osztályok Definíció, static, túlterhelés 45/1 B ITv: MAN 2019.03.18 Feladat Készítsen egy Alkalmazott osztályt saját csomagban, név, kor és fizetés adatokkal. Legyen egy osztályszintű

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

OOP: Java 7.Gy: Öröklődés, referenciák

OOP: Java 7.Gy: Öröklődés, referenciák OOP: Java 7.Gy: Öröklődés, referenciák 37/1 B ITv: MAN 2019.03.26 Öröklődés Egységbezárás (az egyik OOP alapelv) : az adatokat és rajtuk végzett műveleteket egy egységként kezeljük, ez az egység az osztály.

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

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

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

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

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

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

Programozás I. Első ZH segédlet

Programozás I. Első ZH segédlet Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

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

Java II. I A Java programozási nyelv alapelemei

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

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

OOP #14 (referencia-elv)

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

Részletesebben

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

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

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

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

Részletesebben

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. 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

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract

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

OOP: Java 1.Gy: Java alapok

OOP: Java 1.Gy: Java alapok OOP: Java 1.Gy: Java alapok Eclipse alapok O O P Objektum Orientált Programozás 31/1 B ITv: MAN 2019.02.25 Feladat Írja meg a 4 alapműveletet megvalósító Kalkulátor programot Java nyelven. Az elvégzendő

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

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

Programozási nyelvek II. JAVA EA+GY 1. gyakolat Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről

Részletesebben

7. K: JAVA alapok Konzultáció

7. K: JAVA alapok Konzultáció Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Bevezetés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Információk Képzés Programtervező Informatikus BSc, nappali tagozat, C szakirány Tárgykód: IP-17cPROGT1EG Előfeltétel

Részletesebben

Objektum Orientált Programozás. 6. JAVA öröklődés 30/1B IT MAN

Objektum Orientált Programozás. 6. JAVA öröklődés 30/1B IT MAN Objektum Orientált Programozás 6. JAVA öröklődés 30/1B IT MAN B IT v: 2016.03.16 MAN Feladatok Órai egyéni feladat (T: kb. 30 perc) Készítsen egy osztályt (Ember), melyben emberek nevét, magasságát és

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

Programozási nyelvek II.: JAVA, 3. gyakorlat

Programozási nyelvek II.: JAVA, 3. gyakorlat Programozási nyelvek II.: JAVA, 3. gyakorlat 2017. szeptember 25-29. 2017. szeptember 25-29. Programozási nyelvek II.: JAVA, 3. gyakorlat 1 / 50 A 3. gyakorlat tematikája Osztályok deníciója Láthatósági

Részletesebben

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

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real

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

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

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

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 2. gyakorlat 1 Osztályok és objektumok default, public, protected, private láthatóság a metódusokra és adattagokra (első

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

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik

Részletesebben

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

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

Részletesebben

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

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető

Részletesebben

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

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 1 Az 6. gyakorlat tematikája Túlterhelés - összefoglalás statikus adattagok és metódusok

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

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

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

Objektumorientált programozás IX. Osztályok, objektumok

Objektumorientált programozás IX. Osztályok, objektumok Objektumorientált programozás IX. Osztályok, objektumok 1 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 képezik. Ismeretük szükséges,

Részletesebben

Öröklés és Polimorfizmus

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

Részletesebben

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

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?

Részletesebben

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 6. gyakorlat 2017. október 16-20. 6. gyakorlat Programozási nyelvek II.: JAVA 1 / 24 Az 6. gyakorlat tematikája túlterhelés - összefoglalás statikus adattagok és metódusok

Részletesebben

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

Programozási nyelvek II. JAVA EA+GY 1. gyakolat Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről

Részletesebben

Programozási nyelvek II.: JAVA, 4. gyakorlat

Programozási nyelvek II.: JAVA, 4. gyakorlat Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 32 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály A StringBuffer

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

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

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

Részletesebben

1. Egyszerű (primitív) típusok. 2. Referencia típusok

1. Egyszerű (primitív) típusok. 2. Referencia típusok II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget

Részletesebben

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

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok

Részletesebben

Java IX. telkezelés a Java-ban

Java IX. telkezelés a Java-ban Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes

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

Java Programozás 3. Ea: Java osztályok. OOP alapalapok

Java Programozás 3. Ea: Java osztályok. OOP alapalapok Java Programozás 3. Ea: Java osztályok OOP alapalapok 62/1 B ITv: MAN 2018.02.05 Osztály fogalma A Java program osztályok halmaza Egy osztálydefiníció egyben egy teljes fordítási egység (de általában nem

Részletesebben

Java IX. telkezelés a Java-ban

Java IX. telkezelés a Java-ban Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes

Részletesebben

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 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 (

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

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

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

Részletesebben

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

Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra

Részletesebben

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

C# osztályok. Krizsán Zoltán C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC

Részletesebben

Programozási nyelvek II.: JAVA, 4. gyakorlat

Programozási nyelvek II.: JAVA, 4. gyakorlat Programozási nyelvek II.: JAVA, 4. gyakorlat 2017. október 2-6. Programozási nyelvek II.: JAVA, 4. gyakorlat 1 / 29 A 4. gyakorlat tematikája Tömbök A java.util.arrays osztály A String osztály StringBuilder

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

GYAKORLATIAS JAVA MINTA

GYAKORLATIAS JAVA MINTA Java SE programozási alapok - alapelemek viszont a Javadoc-ban nem fog megjelenni. */ 4.2. Egyszerű és összetett típusok A programozás során az adatainkat (legyen az csak átmeneti is) ún. változókban tárolunk.

Részletesebben

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?

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

Részletesebben

C++ programozási nyelv Konstruktorok-destruktorok

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

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

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

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

Részletesebben

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

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

Részletesebben

Objektumok inicializálása

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

Részletesebben

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

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

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Kalapácsvetés 2016 szöveges

Kalapácsvetés 2016 szöveges Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után

Részletesebben

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Gelle Kitti 2017. 10. 25. Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák 2017. 10. 25. 1 / 20 Hasítótáblák T 0 h(k 2)

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

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

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

Részletesebben

BME MOGI Gépészeti informatika 7.

BME MOGI Gépészeti informatika 7. BME MOGI Gépészeti informatika 7. 1. feladat Írjon Windows Forms alkalmazást egy kör és egy pont kölcsönös helyzetének vizsgálatára! A feladat megoldásához hozza létre a következő osztályokat! Pont osztály:

Részletesebben

Informatika terméktervezőknek

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

Részletesebben

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

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás

Részletesebben

Programozás II. labor

Programozás II. labor Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődé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 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked

Részletesebben

Bevezetés a Python programozási nyelvbe

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

Részletesebben

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

Java programozási nyelv 6. rész Java a gyakorlatban

Java programozási nyelv 6. rész Java a gyakorlatban Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék

Részletesebben

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.

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,

Részletesebben

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs

Részletesebben

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben

Az emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben Az emelt szintű informatika érettségi programozási feladatainak megoldása Java nyelven NetBeans IDE 8.1 környezetben Klement András 2016 Utolsó módosítás: 2016. május 25. Tartalomjegyzék Tartalomjegyzék

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net

Bánsághi Anna anna.bansaghi@mamikon.net ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64

Részletesebben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Programozási nyelvek JAVA EA+GY 1. gyakolat Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program

Részletesebben

BME MOGI Gépészeti informatika 6.

BME MOGI Gépészeti informatika 6. BME MOGI Gépészeti informatika 6. 1. feladat Készítsen Windows Forms alkalmazást véletlen adatokkal létrehozott körök kölcsönös helyzetének vizsgálatára! Hozza létre a következő struktúrákat, melynek elemei

Részletesebben

5. Gyakorlat. struct diak {

5. Gyakorlat. struct diak { Rövid elméleti összefoglaló 5. Gyakorlat Felhasználó által definiált adattípusok: A typedef egy speciális tárolási osztály, mellyel érvényes típusokhoz szinonim nevet rendelhetünk. typedef létező_típus

Részletesebben

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

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

Részletesebben

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