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

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

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

Átírás

1 OOP: Java 7.Gy: Öröklődés, referenciák 37/1 B ITv: MAN

2 Ö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öklődés (másik OOP alapelv): osztályok között valósul meg, egy szülő (ős, base, parent) és gyerek (leszármazott, derived) között. Az öröklődés során a gyerek osztály örökli a szülőjének tulajdonságait és viselkedését. Ez jó dolog, mert nem kell újra írnunk őket, viszont a szülőtől örökölt egyes metódusokat speciálisabban is megvalósíthatjuk, felülírhatjuk őket (override), vagy akár újakat is definiálhatunk. Javaban csak egyszeres öröklődés van! Ez azt jelenti, hogy egy osztálynak nem lehet kettő, vagy több szülőosztálya. Azt viszont nem zárja ki, hogy egy osztálynak több gyerek osztálya legyen, vagy hogy a gyerek osztálynak lehessenek saját gyerek osztályai. 37/2

3 A Torta osztály kódja public class Torta { protected int szelet; private String iz; public String getiz() { return iz; public void setiz(string iz) { this.iz = iz; public Torta(int szelet, String iz) { this.szelet = szelet; this.iz = iz; public void info() { System.out.println("Ez a torta " + this.iz + " ízű, és " + this.szelet + " szeletes."); 37/3 Alap Torta osztály, már kész van. Szeretnénk felhasználni a SzülinapiTorta osztályhoz, melyben legyen gyertyák száma adattag, és egy kívánságot teljesítő metódus.

4 Öröklődés A szülő adattagjai és metódusai öröklődnek, a konstruktora nem! Két fontos kulcsszó: extends: ezzel a kulcsszóval adhatjuk meg az öröklődést Kiterjesztést, kibővítést, megnyújtást jelent Használata mindig (gyerek extends szülő formátumú): public class SzulinapiTorta extends Torta super: a gyerek osztályból hivatkozhatunk a szülőre, annak adattagjaira (amiket látunk) és metódusaira is, ezeket super.szulometodusanakneve()-szerű parancsokkal érhetjük el. A szülő konstruktorát a super kulcsszó metódusként történő használatával érjük el: super(szelet, iz); 37/4

5 37/5

6 A Torta osztály kódja public class SzulinapiTorta extends Torta { private int gyertyakszama; public SzulinapiTorta(int szelet, String iz, int gyertyakszama) { 37/6 super(szelet, iz); this.gyertyakszama = gyertyakszama; public void kivansagotteljesit() { System.out.println("Kívánságod teljesült!"); A gyerek konstruktorából hívjuk a szülő konstruktorát. Ez mindig a legelső sor a konstruktorban! Új metódus, csak ebben az osztályban használható! public void info() { System.out.println("Ez a szülinapi torta " + this.getiz()+ " ízű, és "+ this.szelet + " szeletes." + this.gyertyakszama + " db gyertya van rajta"); Felüldefiniált metódus, attól függ, hogy mit ír ki, hogy melyik osztályból hívjuk!

7 Öröklődés Polimorfizmus (többalakúság) A gyerek osztály egy példánya kezelhető a szülő egy példányaként is, ezért egy SzülinapiTorta objektumot tárolhatunk Torta példányként public class TortaProgram { public static void main(string[] args) { Torta csokitorta = new SzulinapiTorta(15, "csoki", 9); Ha ős típusként tárolunk egy gyerek típusú objektumot, akkor a gyerek típusú objektum úgy viselkedik, mintha ős típusú lenne, ezért a gyerek osztályban definiált metódusai nem láthatók, nem használhatók! Torta csokitorta = new SzulinapiTorta(15, "csoki", 9); csokitorta.kivansagotteljesit(); Nem működik, mert egy közönséges Torta nem tud kívánságot teljesíteni! 37/7

8 Öröklődés Polimorfizmus (többalakúság) Torta[] cukraszda = new Torta[3]; cukraszda[0] = new Torta(20, "csokis-meggyes"); cukraszda[1] = new Torta(12, "epres"); cukraszda[2] = new SzulinapiTorta(12, "karamell", 12); for (Torta t : cukraszda) t.info(); Egy ős típusú tömbben vegyesen tárolunk ős és gyerek típusokat Ha meghívjuk az elemekre az info() metódust, amelyik létezik az ős osztályban, de felül van definiálva a gyerek osztályban (vagyis mindkét osztályra használható), annak megfelelő adatokat fog kiírni, amelyik osztályba tartozik az adott tömbelem: Ez a torta csokis-meggyes ízű, és 20 szeletes. Ez a torta epres ízű, és 12 szeletes. Ez a szülinapi torta karamell ízű, és 12 szeletes.12 db gyertya van rajta 37/8

9 Öröklődés Polimorfizmus (többalakúság) Torta[] cukraszda = new Torta[3]; cukraszda[0] = new Torta(20, "csokis-meggyes"); cukraszda[1] = new Torta(12, "epres"); cukraszda[2] = new SzulinapiTorta(12, "karamell", 12); for (Torta t : cukraszda) t.info(); Ha az info() metódus csak az ősosztályban (Torta) lenne definiálva, működne a kód, és minden tömbelemre egyforma infót kapnánk. Ha az info() metódus csak a gyerek (SzülinapiTorta) osztályban lenne definiálva, nem fordulna le a kód, és a következő hibaüzenetet kapnánk: Exception in thread "main" java.lang.error: Unresolved compilation problem: The method info() is undefined for the type Torta 37/9

10 37/10

11 Feladat 1. Definiáljon saját csomagban (myproducts) Áru (Product) osztályt. Adattagjai: név, nettó ár (egész), áfakulcs (egész, százalék) Konstruktora: mindhárom adat megadásával inicializálja az adattagokat. Metódusai: - Számítsa ki a bruttóárát egy árunak (egész, kerekítve). - Egy sztringbe összefűzve adja vissza az áru nevét és a bruttó árát. Definiálja felül az Object osztálybeli tostring metódust! - Növelje meg az áru nettó árát a paraméterben megadott százalékos értékkel (egész). - Hasonlítsa össze két áru bruttó árát. 1-et adjon vissza, ha az áru drágább mint a paraméterben megadott; -1-et ha olcsóbb és 0-t ha azonos árúak. 37/11

12 1 37/12

13 A Product osztály kódja package myproducts; public class Product { private String name; private int netprice; //Nettó ár private int taxpercent; //Áfakulcs taxkey :) public Product(String name, int netprice, int taxpercent) { //super(); this.name = name; this.netprice = netprice; this.taxpercent = taxpercent; public int getpricewithtax() { return netprice+(netprice*taxpercent/100); 37/13

14 A Product osztály Product [name = Retek, price = 254] public String tostring() { return "Product [name = " + name + ", price = " + getpricewithtax() + "]"; public void increaseprice(int percentage) { this.netprice = netprice+(netprice*percentage/100); public int ismoreexpensivethan(product product) { if (this.getpricewithtax() > product.getpricewithtax()) { return 1; else if (this.getpricewithtax()==product.getpricewithtax()){ return 0; else return -1; 37/14

15 Feladat Készítsen az Áru osztállyal azonos csomagban Kenyér osztályt, amely az Áru leszármazottja. Adattagja: mennyiség (valós, pl. 0.75) Konstruktora: négy paraméterben kapott adattal inicializálja az objektumot. Metódusai: Definiálja felül a tostring metódust. Az ősosztályban definiált metódushoz képest fűzze hozzá az egységárat (bruttóár/mennyiség). Adja vissza a mennyiséget. Hasonlítsa össze két kenyér egységárát. Az osztályszintű metódus akkor adjon vissza igazat, ha a paraméterként kapott két Kenyér közül az elsőnek nagyobb az egységára. 37/15

16 A Bread osztály kódja package myproducts; public class Bread extends Product { double amount; //Mennyiség public Bread(String name, int netprice, int taxpercent, double amount) { super(name, netprice, taxpercent); this.amount = Bread [Product [name = Rozs, price = 285], unit price = 380] public String tostring() { return "Bread [" + super.tostring() + ", unit price = " + getunitprice() + "]"; public int getunitprice() { return (int)(getpricewithtax()/amount); 37/16

17 A Bread osztály kódja public double getamount() { return amount; public static boolean compareunitprice(bread bread1, Bread bread2) { if (bread1.getunitprice() > bread2.getunitprice()) { return true; else return false; public boolean hasgreaterunitprice(bread bread) { if (this.getunitprice() > bread.getunitprice()) { return true; else return false; 37/17

18 A Bread osztály kódja public boolean hasgreaterprice(bread bread) { if (this.getpricewithtax() > bread.getpricewithtax()) { return true; else return false; 37/18

19 Feladat Készítsen egy futtatható osztályt a myproducts.producttest alcsomagjában. Ebben hozzon létre egy Áru és egy Kenyér objektumot. Írja ki az adataikat, és hasonlítsa össze az árukat. Melyik osztály metódusával lehetséges az összehasonlítás? Hozzon létre még egy Kenyér típusú objektumot, de ennek a referenciáját egy Áru típusú változóban tárolja (neve: product2). Próbálja ki, hogy a "product2" referenciára meghívva milyen eredményt ad a tostring metódus. Meg tudja-e hívni ezen a referencián keresztül a Kenyér mennyiségét visszaadó metódust? Hozzon létre még egy Kenyér példányt (neve: bread2) és a "product2" referenciával hivatkozott másik Kenyérrel összehasonlítva a nagyobb egységárút kell kiírni (konvertálásra lesz szükség). 37/19

20 Az breadtest osztály kódja package myproducts.producttest; import myproducts.*; public class breadtest { public static void main(string[] args) { // TODO Auto-generated method stub Product product= new Product("Kakaó", 200, 27); Bread bread= new Bread("Rozs", 250, 14, 0.75); System.out.println(product + "\n" + bread); //Árak összehasonlítása: System.out.println(product.isMoreExpensiveThan(bread)); //! System.out.println(bread.hasGreaterPrice(product); 37/20

21 Az breadtest osztály kódja Product product2 = new Bread("Fehér", 200, 14, 1); //tostring metódus hívása System.out.println(product2); //! System.out.println(product2.getAmount()); Bread bread2 = new Bread("Fini", 400, 14, 1); if(bread.compareunitprice((bread)product2, bread2)) { System.out.println(product2); else System.out.println(bread2); 37/21 Product [name = Kakaó, price = 254] Bread [Product [name = Rozs, price = 285], unit price = 380] -1 Bread [Product [name = Fehér, price = 228], unit price = 228] Bread [Product [name = Fini, price = 456], unit price = 456]

22 Feladat A korábban saját csomagban definiált Könyv osztály (mybooks.book) leszármazottjaként készítsen egy másik csomagban KönyvStílus osztályt. Adattagjai: stílus (szöveg) Konstruktora: minden adatát paraméterben kapott adatokkal inicializálja. Metódusai: Adja vissza a stílust. Definiálja felül az ősosztálybeli String-et visszaadó metódust úgy, hogy az ősbeli sztringhez fűzze hozzá a stílust is. 37/22

23 A Book osztály kódja package mybook; import java.time.localdate; //6. gyakorlat házi feladat public class Book { private String author; private String title; private int price; private final int yearofpublication; private int pages; private String publisher = "Móra"; public Book(String author, String title, int price, int pages) { this.author = author; this.title = title; this.price = price; this.yearofpublication = LocalDate.now().getYear(); this.pages = pages; public Book(String author, String title) { this(author, title, 2500, 100); 37/23

24 A Book osztály public String tostring() { return author + ": " + title + ", " + yearofpublication + ", " + price + " Ft, pp " + pages + ", " + publisher; public static Book getlonger(book book1, Book book2) { if (book1.getpages() >= book2.getpages()) return book1; else return book2; public boolean hasevenpages() { if (this.getpages()%2==0) return true; else return false; public void increaseprice(int percentage) { price += Math.round(price*(float)percentage/100); //+ getters, setters 37/24

25 A BookStyle osztály kódja package mystyle; import mybook.book; public class BookStyle extends Book{ String style; public BookStyle(String author, String title, int price, int pages, String style) { super(author, title, price, pages); this.style = style; public String getstyle(){ return public String tostring() { return getauthor() + ": " + gettitle() + ", " + getyearofpublication() + ", " + getprice() + " Ft, pp " + getpages() + ", " + getpublisher() + "\nstílusa: " + style; 37/25

26 Feladat Készítsen egy futtatható osztályt a KönyvStílus-t magában foglaló csomag alcsomagjában. Ebben olvasson be n darab stílusos könyvet egy tömbbe. N-et ellenőrzött módon olvassa be (1 és 10 közötti érték). Számolja meg hányféle különböző stílusú könyv szerepel a tömbben. Írja ki a "Scifi" stílusú könyvek adatait. Számítsa ki a "Scifi" stílusú könyvek átlagárát. A String-ek egyezésének vizsgálatára használja a String osztály metódusát: boolean equalsignorecase(string anotherstring) 37/26

27 A BookStyleTest osztály kódja package mystyle.test; import java.util.scanner; import mystyle.bookstyle; public class BookStyleTest { public static void main(string[] args) { Scanner input = new Scanner(System.in); System.out.println("Please enter the number of books!"); int numberofbooks= readint(); BookStyle[] books= new BookStyle[numberOfBooks]; for(int i=0; i<books.length; i++) { System.out.println((i+1) + ". Szerző: "); String author = input.nextline(); System.out.println((i+1) + ". Cím: "); String title = input.nextline(); System.out.println((i+1) + ". Ár: "); int price = input.nextint(); System.out.println((i+1) + ". Oldalszám: "); int pages = input.nextint(); input.nextline(); System.out.println((i+1) + ". Stílus: "); String style = input.nextline(); books[i] = new BookStyle(author, title, price, pages, style); 37/27

28 A BookStyleTest osztály kódja for(bookstyle book : books) { System.out.println(book); System.out.println(countStyles(books)); String searchstyle = "scifi"; listbooks(books, searchstyle); System.out.println(searchStyle + " könyvek átlagára: " + avgprice(books, searchstyle)); public static int readint() { Scanner input = new Scanner(System.in); int n; do { System.out.println("Enter a number"); while (!input.hasnextint()) { System.out.println("That's not a number"); input.next(); n = input.nextint(); while(n<1 n>10); return n; 37/28

29 A BookStyleTest osztály kódja public static int countstyles(bookstyle[] books) { //Az első könyv stílusa az első stílus int counter = 1; for(int i=1; i<books.length; i++) { boolean found = false; for(int j=i-1; j>=0; j--) { if (books[i].getstyle().equalsignorecase(books[j].getstyle())) { found = true; break; else continue; if (!found) counter++; return counter; public static void listbooks(bookstyle[] books, String style) { for(bookstyle book : books) { if(book.getstyle().equalsignorecase(style)) System.out.println(book); 37/29

30 A BookStyleTest osztály kódja public static double avgprice(bookstyle books[], String style) { double sumprice = 0; int counter = 0; for(bookstyle book : books) { if(book.getstyle().equalsignorecase(style)) { sumprice += book.getprice(); counter++; return sumprice/counter; 37/30

31 Házi feladat Készítsen saját csomagban Személy osztályt (pl. mypersons.person). Adattagjai: név, kor Konstruktora: két paraméterben kapott értékkel inicializálja az adattagokat Metódusai: Getter metódusok az adattagok lekérdezésére. A Személy adatait String-ben összefűző és ezzel visszatérő metódus. Adjon vissza igazat, ha a paraméterben megadott személy életkora kisebb. 37/31

32 Házi feladat Készítsen ugyanebben a csomagban Gyermek és Felnőtt osztályokat a Személy osztály leszármaztatásával. Adattagjaik: iskola (a Gyermek osztályban, String) ; munkahely (a Felnőtt osztályban, String) Konstruktoraik: három paraméterben kapott értékkel inicializálják az adattagokat Metódusaik: Mindkét osztályban definiálja felül az adatokat String-ben összefűző öröklött metódust. Adja vissza a Gyermek iskoláját, ill. a Felnőtt munkahelyét. 37/32

33 Házi feladat Készítsen futtatható osztályt az előbb definiált osztályokat magába foglaló csomag alcsomagjában (pl. mypersons.test.persontest). Ebben deklaráljon két személy típusú referenciát, amelyek értéke a személy beolvasó függvény által visszaadott referencia lesz. Írjon személy beolvasó függvényt, amelyben beolvassa egy személy adatait (név, kor). A referencia dinamikus típusát ellenőrzött módon határozza meg (ha 18 év alatti akkor Gyermek, egyébként Felnőtt), majd értelemszerűen olvassa be a Gyermek iskoláját ill. a Felnőtt munkahelyét. Hozza létre az objektumot, majd térjen vissza a referenciájával. A main metódusban kérdezze le a létrejött objektumok típusát (instanceof) és irassa ki az adataikat. 37/33

34 Házi feladat A Felnőtt osztály kiterjesztéseként hozzon létre ugyanabban a csomagban egy Alkalmazott osztályt (pl. mypersons.employee). Adattagja: fizetés (egész), nyugdíjkorhatár (osztályszintű, egész: értéke 65) Konstruktora: négy paraméterben kapott értékkel inicializálja az adattagokat (név, életkor, munkahely, fizetés). Metódusai: Adja vissza a fizetést. Definiálja felül az adatokat String-ben összefűző öröklött metódust. 37/34

35 Házi feladat Készítsen új futtatható osztályt a mypersons.test alcsomagban, és másolja ide az előző futtatható osztályát. Amikor meghatározza a Személy típusúra deklarált referenciák dinamikus típusát, a Felnőttek esetén ellenőrizze a munkahely értékét: csak akkor lehet Alkalmazott, ha a munkahely nem üres (nem minden felnőtt alkalmazott). Ha alkalmazottról van szó, akkor a fizetését is olvassa be. Ezek után kérdezze le a létrejött objektumok típusát (instanceof) és irassa ki az adataikat. Annak vizsgálata, hogy a munkhely értéke (String) üres-e: workplace.isempty() workplace.length() == 0 workplace.equals("") 37/35

36 Házi feladat Módosítsa úgy a futtatható osztályban a main metódus kódját, hogy hozzon létre egy n elemű Személy tömböt. N értékét olvassa be ellenőrzött módon. Az adatok beolvasásakor dőljön el, hogy az adott személy Gyermek, Felnőtt, vagy Alkalmazott. Majd életkoruk szerint növekvően rendezve írja ki az adataikat. Használja a minimum kiválasztásos rendező eljárást. 37/36

37 VÉGE VÉGE 37/37

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

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

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

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

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

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

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

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

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

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

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

é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

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

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

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

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

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

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

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

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

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

Részletesebben

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

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

Programozási nyelvek Java

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

Részletesebben

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

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus

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

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

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

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

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

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

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

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

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

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

Ö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

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

Magas szintű programozási nyelvek 2 Előadás jegyzet

Magas szintű programozási nyelvek 2 Előadás jegyzet Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás

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

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

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

Részletesebben

Java 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

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

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016 Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:

Részletesebben

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 PROGRAMOZÁS 3.ELŐADÁS

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

Részletesebben

Java 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

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

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

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

Részletesebben

Java VII. Polimorfizmus a Java nyelvben

Java VII. Polimorfizmus a Java nyelvben Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)

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 VII. Polimorfizmus a Java nyelvben

Java VII. Polimorfizmus a Java nyelvben Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)

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

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

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

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

Programozási alapismeretek 4.

Programozási alapismeretek 4. Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)

Részletesebben

Programozás módszertan p.1/46

Programozás módszertan p.1/46 Programozás módszertan Öröklődés Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK MAGYAR TUDOMÁNYOS AKADÉMIA SZÁMÍTÁSTECHNIKAI ÉS

Részletesebben

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

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

Részletesebben

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

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

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus

Alkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

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

Programozási nyelvek Java

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

Részletesebben

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

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

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/12 Tartalomjegyzék Miért

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

Smalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva

Smalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva Smalltalk 3. Osztályok létrehozása Készítette: Szabó Éva Metaosztály fogalma Mint korában említettük, a Smalltalkban mindent objektumnak tekintünk. Még az osztályok is objektumok. De ha az osztály objektum,

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, 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++ programozási nyelv Struktúrák a C++ nyelvben

C++ programozási nyelv Struktúrák a C++ nyelvben C++ programozási nyelv Struktúrák a C++ nyelvben 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/37 Bevezeté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

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

C++ programozási nyelv

C++ programozási nyelv C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok

Részletesebben

3. gyakorlat. Objektumorientált programozás

3. gyakorlat. Objektumorientált programozás 3. gyakorlat Objektumorientált programozás Amiről ma szó lesz Objektumok Csomagok Öröklődés Debugger használata OOP vs. egyéb programozási módszerek Az objektumorientált programozás abban különbözik leginkább

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ási nyelvek II.: JAVA, 11. gyakorlat

Programozási nyelvek II.: JAVA, 11. gyakorlat Programozási nyelvek II.: JAVA, 11. gyakorlat 2017. november 27-december 1. Programozási nyelvek II.: JAVA, 11. gyakorlat 1 / 54 A 11. gyakorlat tematikája Örökl dés Osztályhierarchia Az Object osztály

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

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

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat

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 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java

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

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

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

Vizuális programozás Komplex számok

Vizuális programozás Komplex számok Vizuális programozás Komplex számok Célok: Ismerkedés a Visual Studio 2008 Professional fejlesztőrendszerrel (fordítás, konfigurációtípusok, néhány beállítás) Egyszerű konzolalkalmazás készítése vizuális

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