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

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

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

Átírás

1 OOP: Java 6.Gy: Java osztályok Definíció, static, túlterhelés 45/1 B ITv: MAN

2 Feladat Készítsen egy Alkalmazott osztályt saját csomagban, név, kor és fizetés adatokkal. Legyen egy osztályszintű adattagja a nyugdíjkorhatár tárolására, értéke kezdetben legyen 65. Figyelem! A static adattag kezelése csak static metódusban történhet. Legyen 2 konstruktora. Az egyik a paraméterként kapott név, kor és fizetés értékekkel inicializálja az adattagokat. A másiknak csak a nevet és a kort kell megadni, a fizetés 10000*kor. A második konstruktor használja fel az elsőt. Legyen metódusa, amely visszadja hány éve van még nyugdíjig. Legyen metódusa, amely String-be összefűzve adja vissza az Alkalmazott adatait, hozzáfűzve a nyugdíjig hátralevő éveinek számát is (tostring() felüldefiniálása). Legyen metódusa, amely a paraméterként kapott két Alkalmazott közül azt adja vissza, amelyiknek több éve van még hátra a nyugdíjig. Legyen metódusa, amely a paraméterként kapott értékre állítja be a nyugdíjkorhatárt. 45/2

3 1 45/3

4 Konstruktor létrehozása Source\Generate Constructor using Fields 4 5 Oda fog kerülni a konstruktor, ahol a kurzor áll! 45/4

5 Getterek, setterek létrehozása Source\Generate Getters and Setters 3 Oda fognak kerülni a metódusok, ahol a kurzor áll! 45/5

6 Az Employee osztály kódja package emp; public class Employee_a { private String name; private int age; private long salary; private static int retirementage = 65; public Employee_a(String name, int age, long salary) { this.name = name; this.age = age; Konstruktor 1. this.salary = salary; public Employee_a(String name, int age) { this(name, age, 10000*age); Konstruktor 2. Hívja Konstruktor 1.-et public int yearsuntilretirement() { return retirementage - this.getage(); 45/6 Példány adattagok Osztály adattag static this retirementage - age;

7 Az Employee osztály kódja public String tostring() { return name + ", " + age + ", Fizetése: " + salary + " Ft/hó, Nyugdíjig hátralévő évek száma: " + yearsuntilretirement(); public static Employee_a getyoungeremployee( Employee_a employee1, Employee_a employee2) { if (employee1.yearsuntilretirement() > employee2.yearsuntilretirement()) { return employee1; Osztály metódus static else return employee2; public String getname() { return name; public void setname(string name) { this.name = name; 45/7

8 Az Employee osztály kódja public int getage() { return age; public void setage(int age) { this.age = age; public long getsalary() { return salary; public void setsalary(long salary) { this.salary = salary; public static int getretirementage() { return retirementage; public static void setretirementage(int age) { retirementage = age; 45/8

9 Feladat Készítsen egy futtatható osztályt ugyanebben a csomagban, amely beolvas n számú alkalmazottat egy tömbbe. Írja ki az alkalmazottak adatait, majd módosítsa a nyugdíjkorhatárt és újra írja ki az alkalmazottak adatait. Írja ki azon alkalmazottak adatait, akiknek 5 évnél kevesebb van még hátra nyugdíjig. Írja ki azoknak az alkalmazottaknak az adatait, akiknek az átlagnál több éve van még hátra nyugdíjig. Rendezze az alkalmazottak tömbjét a nyugdíjig hátralévő évek alapján növekvő, majd pedig csökkenő sorrendbe. 45/9

10 Az EmployeeTest osztály kódja package emp; import java.util.scanner; public class EmployeeTest_a { public static void main(string[] args) { 45/10 Scanner input = new Scanner(System.in); System.out.println("Number of employees: "); int numberofemployees = input.nextint(); input.nextline(); Employee_a[] employeearray= new Employee_a[numberOfEmployees]; for (int i = 0; i < employeearray.length; i++) { System.out.println( (i+1) + ". employee: "); System.out.println("Name: "); String name = input.nextline(); System.out.println("Age: "); int age = input.nextint(); System.out.println("Salary: "); long salary = input.nextlong(); input.nextline(); employeearray[i] = new Employee_a(name, age, salary);

11 Az EmployeeTest osztály kódja listemployeearray(employeearray); Employee_a.setRetirementAge(67); listemployeearray(employeearray); System.out.println("Nyugdíjig több mint 5 év van hátra: "); for(employee_a employee: employeearray) { if (employee.yearsuntilretirement() < 5) System.out.println(employee); int avg = avgyearsuntilretirement(employeearray); System.out.println("Nyugdíjig hátralevő évek átlaga: " + avg); for(employee_a employee: employeearray) { if (employee.yearsuntilretirement() > avg) System.out.println(employee); 45/11

12 Az EmployeeTest osztály kódja //Nyugdíjig hátralévő évek alapján növekvő rendezés, listázás System.out.println("Rendezett lista: "); sortemployeearray(employeearray); listemployeearray(employeearray); //Fordított sorrendű kiírás System.out.println("Rendezett lista fordítva: "); for(int i=employeearray.length-1; i>=0; i--) { System.out.println(employeeArray[i]); //== End of main private static void listemployeearray( Employee_a[] employeearray) { for(employee_a employee: employeearray) { System.out.println(employee); 45/12

13 Az EmployeeTest osztály kódja public static int avgyearsuntilretirement( Employee_a[] employeearray) { int avg = 0; for(employee_a employee: employeearray) { avg += employee.yearsuntilretirement(); avg = Math.round((float)avg / employeearray.length); return avg; 45/13

14 Az EmployeeTest osztály kódja private static void sortemployeearray( Employee_a[] employeearray) { for(int i=0; i<employeearray.length; i++) { int minindex = i; for(int j=i+1; j<employeearray.length; j++) { if (employeearray[j].yearsuntilretirement() < employeearray[minindex].yearsuntilretirement()) { minindex = j; //Helycsere, ha szükséges if (minindex!= i) { Employee_a tmp = employeearray[i]; employeearray[i] = employeearray[minindex]; employeearray[minindex] = tmp; //== End of Class 45/14

15 Az EmployeeTest osztály kódja Number of employees: 3 1. employee: Name: Kis Jenőke Age: 37 Salary: employee: Name: Nagy Bendegúz Age: 45 Salary: employee: Name: Kő Emil Age: 25 Salary: Kis Jenőke, 37, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 28 Nagy Bendegúz, 45, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 20 Kő Emil, 25, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 40 45/15

16 Az EmployeeTest osztály kódja Kis Jenőke, 37, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 30 Nagy Bendegúz, 45, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 22 Kő Emil, 25, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 42 Nyugdíjig több mint 5 év van hátra: Nyugdíjig hátralevő évek átlaga: 31 Kő Emil, 25, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 42 Rendezett lista: Nagy Bendegúz, 45, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 22 Kis Jenőke, 37, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 30 Kő Emil, 25, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 42 Rendezett lista fordítva: Kő Emil, 25, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 42 Kis Jenőke, 37, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 30 Nagy Bendegúz, 45, Fizetése: Ft/hó, Nyugdíjig hátralévő évek száma: 22 45/16

17 Feladat Módosítsa az Alkalmazott osztály definícióját úgy, hogy ne az alkalmazott korát, hanem a születési dátumát tároljuk. A korát az aktuális év és a születési év különbségeként számítjuk. Java 8- ban: import java.time.localdate; LocalDate birthday = LocalDate.of(1998,5,10); //y,m,d LocalDate currentdate = java.time.localdate.now(); int currentyear = currentdate.getyear(); A nyugdíjkorhatár most legyen konstans (final). Így setter metódusa nem lehet. 45/17

18 Feladat Függvénytúlterhelés: a konstruktorból két változatot készítsen. Az egyik változat az alkalmazott nevét és 3 int paramétert kapjon (év, hónap, nap); A másik az alkalmazott nevét, egy int, egy sztring és még egy int paraméter felhasználásával adjon értéket a név és a születésnap adattagnak. A másik konstruktor paramétere legyen az alkalmazott neve, a születési idő évszáma, a hónap magyar neve, és a nap száma (Tulipán Balázs, 1995, március, 15). A fizetést a 10000*kor képlettel számítsa mindkét konstruktorban. 45/18

19 Feladat A LocalDate.of() dátum típust előállító metódus 3 int értéket vár. Ezért a hónap nevét számmá kell konvertálni. A születési dátum kiírásához a másik irányú konverzióra lesz szükség. Írjon olyan, az Alkalmazott objektum adatait kiíró metódus, amely az input paraméter függvényében (String: "age" vagy "birthday") Stringbe összefűzve az Alkalmazott nevét és korát; ill. az Alkalmazott nevét és születésnapját írja ki. A hónap neve magyarul jelenjen meg (Kiss Tamás, március 12.). Egy LocalDate típusú adattag év, hónap és nap komponenseinek lekérdezése: int year = birthday.getyear(); String month = birthday.getmonth().name(); int monthvalue = birthday.getmonthvalue(); int day = birthday.getdayofmonth(); 45/19

20 Feladat A getmonth().name() metódus a hónap angol nevét adja vissza. Írjon konverziós metódust, amely a hónap sorszámának ismeretében visszaadja a magyar hónapnevet. A magyar hónapneveket osztályszintű adattagként, 13 elemű String tömbben tároljuk, ahol a 0. indexű elemet nem használjuk. A tömb elemeit osztályszintű inicializáló blokkban adja meg. 45/20

21 Feladat private static String[] monthnames; static { monthnames = new String[13]; monthnames[0] = " "; monthnames[1] = "január"; monthnames[2] = "február"; monthnames[3] = "március"; monthnames[4] = "április"; monthnames[5] = "május"; monthnames[6] = "június"; monthnames[7] = "július"; monthnames[8] = "augusztus"; monthnames[9] = "szeptember"; monthnames[10] = "október"; monthnames[11] = "november"; monthnames[12] = "december"; 45/21 A tömb indexe megegyezik az adott hónap sorszámával, ezt lehet felhasználni a hónap száma és neve közti konverzióhoz.

22 Feladat A monthnames tömböt használó metódusok: public String convertmonthvalue(int monthvalue) { return monthnames[monthvalue]; A hónap számából előállítja a hónap nevét public int convertmonthname(string monthname) { for(int i=1; i<monthnames.length; i++) { if (monthnames[i].equalsignorecase(monthname)) return i; return 0; A hónap nevéből előállítja a hónap sorszámát equalsignorecase A kis- és nagybetűk nem különböztetik meg a stringeket. Ha hibás a bejövő hónapnév, 0-t ad eredményül. 45/22

23 Az Employee osztály kódja package emp; import java.time.localdate; public class Employee_b { private String name; private LocalDate birthday; private long salary; //Konstans: értéke nem változtatható meg, setter metódusa nem lehet private static final int retirementage = 65; private static String[] monthnames; 45/23

24 Az Employee osztály kódja private static String[] monthnames; //Inicializáló blokk static { monthnames = new String[13]; monthnames[0] = " "; monthnames[1] = "január"; monthnames[2] = "február"; monthnames[3] = "március"; monthnames[4] = "április"; monthnames[5] = "május"; monthnames[6] = "június"; monthnames[7] = "július"; monthnames[8] = "augusztus"; monthnames[9] = "szeptember"; monthnames[10] = "október"; monthnames[11] = "november"; monthnames[12] = "december"; 45/24 Javaban csak példányszintű konstruktor létezik, osztályszintű nincs, ezt pótolja az osztályszintű inicializáló blokk Jellemzői: Több is lehet belőle egy osztályban Az osztály betöltődésekor (az osztályra történő első hivatkozáskor) fut le Szerepe: a statikus tagok inicializálása, bonyolultabb esetben. Pl. egy tömb elemeinek inicializálása A "statikus kontextus" része, ezért nem lehet benne példányszintű tagokra hivatkozni

25 Az Employee osztály kódja public Employee_b(String name, LocalDate birthday, long salary) { this.name = name; this.birthday = birthday; this.salary = salary; Konstruktor, komplett dátumot kap //A konstruktorban a getage() példányszintű metódus nem hívható public Employee_b(String name, int year, int month, int day) { this.name = name; this.birthday = LocalDate.of(year, month, day); this.salary = 10000*(LocalDate.now().getYear()- birthday.getyear()); Konstruktor, (év, hónap, nap) alakban kap dátumot 45/25

26 Az Employee osztály kódja public Employee_b(String name, int year, String month, int day) { this.name = name; int monthvalue; if(convertmonthname(month)==0) monthvalue = 1; //default: január else monthvalue = convertmonthname(month); this.birthday = LocalDate.of(year, monthvalue, day); this.salary = 10000*(LocalDate.now().getYear()- birthday.getyear()); Konstruktor, (év, magyar hónapnév, nap) alakban kap dátumot 45/26

27 Az Employee osztály kódja public int yearsuntilretirement() { return retirementage - this.getage(); public int getage() { return LocalDate.now().getYear()-birthday.getYear(); public String displayinfo(string str) { String info = " "; switch(str) { case "age" : info = name + ", kora: " + getage() + " év"; break; case "birthday" : info = name + ", szül.: " + gethunbirthday(); 45/27 return info; A bemenő string függvényében ad vissza szöveges információt

28 Az Employee osztály kódja public String gethunbirthday() { int year = birthday.getyear(); int monthvalue = birthday.getmonthvalue(); String monthname = convertmonthvalue(monthvalue); int day = birthday.getdayofmonth(); return year + ". " + monthname + " " + day + "."; public String convertmonthvalue(int monthvalue) { return monthnames[monthvalue]; A hónap számából előállítja a hónap nevét public int convertmonthname(string monthname) { for(int i=1; i<monthnames.length; i++) { if (monthnames[i].equalsignorecase(monthname)) return i; return 0; A hónap nevéből előállítja a hónap sorszámát 45/28

29 Az Employee osztály public String tostring() { return name + ", " + birthday + ", Fizetése: " + salary + " Ft/hó, Nyugdíjig hátralévő évek száma: " + yearsuntilretirement(); //Getter, setter methods public String getname() { return name; public void setname(string name) { this.name = name; public long getsalary() { return salary; 45/29

30 Az Employee osztály kódja public void setsalary(long salary) { this.salary = salary; public LocalDate getbirthday() { return birthday; public void setbirthday(localdate day) { this.birthday = day; public static int getretirementage() { return retirementage; 45/30

31 Az EmployeeTest osztály kódja Feladat: Módosítsa a futtatható osztályt ennek megfelelően és próbálja ki az új metódusokat! package emp; import java.time.localdate; import java.util.scanner; public class EmployeeTest_b { public static void main(string[] args) { Scanner input = new Scanner(System.in); System.out.println("Number of employees: "); int numberofemployees = input.nextint(); input.nextline(); Employee_b[] employeearray= new Employee_b[numberOfEmployees]; 45/31

32 Az EmployeeTest osztály kódja 45/32 for (int i = 0; i < employeearray.length; i++) { System.out.println( (i+1) + ". employee: "); System.out.println("Name: "); String name = input.nextline(); System.out.println("Birthday: "); String instring = input.nextline(); String[] birthdaycomponents = instring.split("/"); int year=0, month=0, day=0; try { year = Integer.parseInt(birthdayComponents[0]); day = Integer.parseInt(birthdayComponents[2]); month = Integer.parseInt(birthdayComponents[1]); employeearray[i] = new Employee_b(name, year, month, day); catch (Exception NumberFormatException) { if (month==0) employeearray[i] = new Employee_b(name, year, birthdaycomponents[1], day);

33 Az EmployeeTest osztály kódja listemployeearray(employeearray); //== End of main private static void listemployeearray( Employee_b[] employeearray) { for(employee_b employee: employeearray) { System.out.println(employee); System.out.println(employee.displayInfo("birthday")); System.out.println(employee.displayInfo("age")); //== End of class 45/33

34 Feladat Készítsen egy Szám osztályt a mypackage.first nevű csomagban, amelynek: Van egy osztályszintű konstans adattagja értékkel egy tűrés tárolására. Legyen egy másik private adattagja egy valós szám tárolására. Legyen konstruktora, amely a paraméterként kapott valós számmal inicializálja az adattagot. Legyen egy metódusa, amely igazat ad, ha a valós szám adattagnak a paraméterként kapott számtól való eltérése a tűrésen belül van. Legyen getter, setter metódusa a valós szám adattagra. 45/34

35 RealNum 45/35

36 A RealNum osztály kódja package mypackage.first; public class RealNum { private static final double tolerance = 0.001; private double realnum; public RealNum(double realnum) { this.realnum = realnum; public boolean isintolerancerange(double num) { if (Math.abs(realNum-num) < tolerance) { return true; else return false; public double getrealnum() { return realnum; public void setrealnum(double realnum) { this.realnum = realnum; 45/36

37 Feladat Készítsen egy futtatható osztályt a mypackage.second nevű csomagban, amelyben: Létrehoz egy Számot, melynek értéke 0-1 közötti intervallumba esik, és eltárolja egy final lokális változóban. Generáljon ciklusban 0-1 közötti valós számokat és írja ki azokat egész addig, amíg egyezőt nem talál a létrehozott Számmal (különbségük a tűrésen belül van). Írja ki hányadiknak állította elő ezt a számot. Próbálja ki, hogy meg tudja-e változtatni a Szám adattagjának értékét. Próbálja ki, hogy meg tudja-e változtatni a referenciájának az értékét. 45/37

38 A RealNumTest osztály kódja package mypackage.second; //imports classes only in package mypackage and NOT in the subpackage first import mypackage.*; //imports classes in package mypackage.first import mypackage.first.*; public class RealNumTest { public static void main(string[] args) { //final mypackage.first.realnum realnum = new mypackage.first.realnum(0.25); final RealNum realnum = new RealNum(0.25); int counter = 0; boolean found = false; 45/38

39 A RealNumTest osztály kódja while (!found) { double tmprealnum = Math.random(); System.out.println(tmpRealNum); counter++; if (realnum.isintolerancerange(tmprealnum)) { found = true; System.out.println("Number of generated numbers: " + counter); //Teszt: a RealNum osztály adattagjának értéke megváltoztatható realnum.setrealnum(0.5); //Teszt: a final lokális változó értékét nem lehet módosítani //realnum = new RealNum(0.12); //== End of main //== End of class /39 Number of generated numbers: 43

40 Házi feladat A korábbi gyakorlatokon elkészített Könyv osztályt helyezze át saját csomagba. A szerző, cím és ár adattagok változatlanok. Egészítse ki egy oldalszám adattaggal és egy kiadó osztályszintű adattaggal, melynek kezdőértéke Móra. A megjelenés éve adattag legyen konstans, az objektum létrehozás éve. Módosítsa a 2 konstruktort ennek megfelelően. Módosítsa azt a metódust, amely String-ben összefűzve adja vissza a könyv adatait. Írjon osztályszintű metódust, amely két paraméterként kapott könyv közül a hosszabbat adja vissza. Írjon metódust, amely igazat ad vissza, ha a könyv oldalszáma páros. 45/40

41 Házi feladat Ebben a csomagban készítsen futtatható osztályt, amelyben beolvas n darab könyvet egy tömbbe. Írja ki a leghosszabb könyv adatait. Írja ki a leghosszabb páros oldalszámú könyv adatait. Algoritmus: 1. Létrehozunk egy maxindex változót, melynek értéke Megkeressük az első páros oldalszámú könyvet. Ennek az indexét eltároljuk a maxindex változóban. 3. Ha a maxindex >= 0 (azaz találtunk páros oldalszámú könyvet), akkor a maxindex sorszámtól kezdve maximum kereső eljárás. 45/41

42 Házi feladat Írja ki, hogy melyik szerzőnek hány darab könyve jelent meg. Algoritmus: 1. Veszem a következő könyvet. Ha a szerzője megegyezik egy korábban már vizsgált könyv szerzőjével, akkor továbblépek a következő könyvre. 2. Ha ez az adott szerző első előfordulása, akkor létrehozok egy számláló változót 1 értékkel és kiírom a szerző nevét. 3. Az aktuális indextől kezdve nézem a könyvek szerzőit, ha azonos szerzőt találok, növelem eggyel a számlálót. 4. A végén kiírom a számláló értékét. Ugyanezeket a feladatokat oldja meg úgy is, hogy a futtatható osztályt másik csomagban definiálja. 45/42

43 1. Kérdés a 850-ből: Mire használható a failstheexam() metódus? Megbukni a vizsgán Megbukni a vizsgán Megbukni a vizsgán Megbukni a vizsgán OK 45/43

44 Feladat Osztály létrehozása adott csomagban, adott adattagokkal, adott metódusokkal: mindenféle adattagok (szöveg, szám, dátum) több (egymást hívó) konstruktor tostring() felüldefiniálása metódusok készítése: bemenő paraméterek: egyszerű változók, osztály típusúak Programosztály létrehozása (esetleg eltérő csomagban): Osztály típusú tömb létrehozása, Elemek beolvasása, generálása Tömb adatainak kiírása (for, for each) (feltételekkel, esetleg visszafelé) Algoritmusok elvégzése a tömbön, aztán adatkiírás 45/44

45 VÉGE VÉGE 45/45

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

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: 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 5.Gy: Osztály, referencia, konstruktor

OOP: Java 5.Gy: Osztály, referencia, konstruktor OOP: Java 5.Gy: Osztály, referencia, konstruktor 36/1 B ITv: MAN 2019.03.10 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Részletesebben

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

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

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

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

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes

Részletesebben

Java Programozás 11. Ea: MVC modell

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

Részletesebben

Programozási nyelvek Java

Programozási nyelvek Java Objektum-orientált szemlélet - Egységbe zárás (incapsulation) - Információ elrejtés - Öröklődés altípusosság dinamikus kötés Öröklődés Programozási nyelvek Java - kiterjesztem, kibővítem, megváltoztatom

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

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

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

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió BME MOGI Gépészeti informatika 3. 1. feladat Végezze el a következő feladatokat! Kérjen be számokat 0 végjelig, és határozza meg az átlagukat! A feladat megoldásához írja meg a következő metódusokat! a.

Részletesebben

Felhasználó által definiált adattípus

Felhasználó által definiált adattípus Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési

Részletesebben

BME MOGI Gépészeti informatika 4.

BME MOGI Gépészeti informatika 4. BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám

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

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

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

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)! Space Shuttle 40 Pont A Space Shuttle (magyarul űrsikló", hivatalos angol nevén: Space Transportation System, STS) az Amerikai Egyesült Államok ember szállítására is alkalmas űrprogramja volt. Feladatai

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

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok 1. feladat: Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR). Írjon C programokat az alábbi kérdések

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

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

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

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

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

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

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól. Torna A pekingi olimpián tornából hat versenyszámban mérettetik meg magukat a versenyzők. Ennek a versenynek az eredményeit kell feldolgoznia ebben a feladatban. A megoldás során vegye figyelembe a következőket:

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt

Részletesebben

Java programozá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

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

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

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

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

Részletesebben

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

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

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

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

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

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

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

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

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

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

Globális operátor overloading

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

Részletesebben

Java gyakorlat feladatai e s megolda sai (2014.04.10)

Java gyakorlat feladatai e s megolda sai (2014.04.10) Java gyakorlat feladatai e s megolda sai (2014.04.10) 1. Feladat Számítsuk ki a Fibonacci sorozat első 20 tagját! / Fibonacci számsorozat tagjait kiszámoló, egyetlen osztályból álló program @author Bence

Részletesebben

Apple Swift kurzus 3. gyakorlat

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

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Objektumorientált Programozás VI.

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ő

Részletesebben

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész

Java Programozás 7. Gy: Java alapok. Adatkezelő 3.rész Java Programozás 7. Gy: Java alapok Adatkezelő 3.rész 39/1 B ITv: MAN 2018.04.11 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki az Új dolgozó felvitele panelt - A panel a Beszúr

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

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

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

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

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:

Részletesebben

Programozás alapjai 9.Gy: Struktúra 2.

Programozás alapjai 9.Gy: Struktúra 2. Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).

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

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

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

é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

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

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

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

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

Java Programozás 3. Gy: Java GUI. Swing, AWT

Java Programozás 3. Gy: Java GUI. Swing, AWT Java Programozás 3. Gy: Java GUI Swing, AWT 35/1 B ITv: MAN 2018.02.25 Feladat Készítsük el az Emp osztály kezelő programját úgy, hogy ArrayList-et (listatömb, tömblista, rugalmas tömb) használunk. A java.util.arraylist

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

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

OOP: Java 1.Gy: Java alapok

OOP: Java 1.Gy: Java alapok OOP: Java 1.Gy: Java alapok Eclipse alapok +INFOMATRIX O O P Objektum Orientált Programozás 50/1 B ITv: MAN 2019.02.08 Info Mátrix 50/2 Rólam 50/3 Szűcs Miklós Alias: BitMan Mesteroktató Informatika épület,

Részletesebben

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

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

Részletesebben

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

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

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

Objektumorientált programozás C# nyelven III.

Objektumorientált programozás C# nyelven III. Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és

Részletesebben

BME MOGI Gépészeti informatika 5.

BME MOGI Gépészeti informatika 5. BME MOGI Gépészeti informatika 5. 1. feladat Készítsen alkalmazást, mely feltölt egy egydimenziós tömböt adott tartományba eső, véletlenszerűen generált egész értékekkel! Határozza meg a legkisebb és a

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, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

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

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 2014 Bánsághi Anna 1 of 33

Bánsághi Anna 2014 Bánsághi Anna 1 of 33 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

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

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

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 25. Osztályok C++ osztályok Bevezetés Objektum-orientáltság

Részletesebben

JAVA PROGRAMOZÁS 3.ELŐADÁS

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

Részletesebben

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget Hiányzások Ebben a feladatban egy általános iskola 2017 szeptemberi hiányzásai tartalmazó szövegfájlt kell feldolgoznia. Az adatok a szeptember.csv állomány tartalmazza. Az állomány egy sorában egy tanuló

Részletesebben