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

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

Download "Programozási nyelvek II.: JAVA, 11. gyakorlat"

Átírás

1 Programozási nyelvek II.: JAVA, 11. gyakorlat november 27-december 1. Programozási nyelvek II.: JAVA, 11. gyakorlat 1 / 54

2 A 11. gyakorlat tematikája Örökl dés Osztályhierarchia Az Object osztály Láthatósági módosítók A super pszeudováltozó Felüldeniálás Kompozíció Aggregáció Programozási nyelvek II.: JAVA, 11. gyakorlat 2 / 54

3 A 11. gyakorlat tematikája Interfészek Interfészek deníciója Örökl dés Interfész megvalósítása Az interfész mint típus változódeklarációkban formális paraméterek specikációjában Generikus interfészek Programozási nyelvek II.: JAVA, 11. gyakorlat 3 / 54

4 Örökl dés Osztályok származtatása és kiterjesztése (formailag: extends, pl. class Circle extends Shape, isa reláció) Osztály kiegészítése új tagokkal (példányváltozókkal, metódusokkal) Szül osztály, gyermekosztály Žs: a szül reexív, tranzitív lezártja Leszármazott: a gyermek reexív, tranzitív lezártja A gyermek a szül tagjaival is rendelkezik (az öröklés révén) + ki is terjesztheti azokat Programozási nyelvek II.: JAVA, 11. gyakorlat 4 / 54

5 Örökl dés El nyei: Kódújrafelhasználás (a kód redundanciája csökken) Olvashatóság + karbantarthatóság megkönnyítése Örökl dés (mint tervezésszint fogalom, l. kés bb a kompozíció és az aggregáció fogalmát): kódmegosztás, altípusképzés Programozási nyelvek II.: JAVA, 11. gyakorlat 5 / 54

6 Örökl dés mint altípusképzés (egy parciális rendezés) A gyermek típusa a szül típusának egy altípusa, mert a gyermek rendelkezik a szül összes attribútumával a gyermek minden eseményre reagálni tud, amelyre a szül je is Következmény: minden olyan helyzetben, amikor a szül t használhatjuk, használhatjuk a gyermeket is Programozási nyelvek II.: JAVA, 11. gyakorlat 6 / 54

7 Osztályhierarchia Az örökl dési reláció gráfként megadva Egyszeres örökl dés esetén ez egy (irányított) erd Javában az Object minden osztály közös se (univerzális sosztály) = az örökl dési gráf egy fa Ha nem adunk meg extendset, akkor implicit extends van Programozási nyelvek II.: JAVA, 11. gyakorlat 7 / 54

8 Az Object osztály Predenit, a java.langban van deniálva Az Object osztály olyan metódusok denícióit tartalmazza, amelyekkel minden objektumnak rendelkeznie kell, pl. boolean equals(object obj), String tostring(), int hashcode() ( Programozási nyelvek II.: JAVA, 11. gyakorlat 8 / 54

9 Láthatósági módosítók (emlékeztet ) Minden adattagra és minden metódusra pontosan egy hozzáférési kategória vonatkozhat, ezért az alább megadott módosítószavak közül pontosan egyet lehet használni minden egyes tag és metódus esetében. A hozzáférési kategóriák (módosítószavak) a következ k: Félnyilvános (package-private): ha nem írunk semmit azonos csomagban deniált osztályok (objektumai) Nyilvános: public különböz csomagokban deniált osztályok is elérik pl. a f programnak is ilyennek kell lennie, hogy futtatható legyen: public static void main(string[] args) Privát: private csak az osztálydeníción belül érhet el az osztály minden objektuma Védett: protected a félnyilvános kategória kiterjesztése: azonos csomagban lév, plusz a leszármazottak Programozási nyelvek II.: JAVA, 11. gyakorlat 9 / 54

10 Láthatósági reláció (emlékeztet ) public protected package-private private Módosító osztály csomag leszármazott mindenki public igen igen igen igen protected igen igen igen nem nincs (package-private) igen igen nem nem private igen nem nem nem Programozási nyelvek II.: JAVA, 11. gyakorlat 10 / 54

11 A super pszeudováltozó A konstruktor nem örökölhet, de meghívható super névvel (a szül osztálybeli konstruktor a legels sorban) Ha nem hívunk meg egy konstruktorban egy másikat, akkor implicit módon egy paraméter nélküli super(); hívás történik Ha a szül nek nincs paraméter nélküli konstruktora, akkor fordítási hibát kapunk A super megel zi az osztálydenícióban szerepl példányváltozó inicializálásokat Egy protected konstruktort newval csak a csomagon belül hívhatunk meg Programozási nyelvek II.: JAVA, 11. gyakorlat 11 / 54

12 Felüldeniálás A gyermek osztályban bizonyos eseményekre másképp kell / lehet reagálni, mint a szül osztályban ( sosztályban) = felüldeniálás Örökölt metódushoz új deníciót rendelünk A felüldeniált metódus elérése: super.xxx() Programozási nyelvek II.: JAVA, 11. gyakorlat 12 / 54

13 A felüldeniálás szabályai A szignatúra megegyezik (ha a szignatúra különböz : túlterhelés) A visszatérési típus altípusa a szül ben megadottnak (általában megegyezik vele) A hozzáférési kategória: nem sz kíthet (private félnyilvános protected public) Specikált ellen rzött kiváltható kivételek: nem b víthet k (nem ellen rzött kivételekkel [RuntimeException altípusai] b víthet ) Ha a szignatúra ugyanaz, de az el bbi három feltétel nem teljesül, akkor fordítási hibát kapunk Programozási nyelvek II.: JAVA, 11. gyakorlat 13 / 54

14 Az örökl dés szemléltetése egy példán...az Alakzatok osztálya... (Point.java, Circle.java, Rectangle.java, Shape.java, ShapeTest.java) Programozási nyelvek II.: JAVA, 11. gyakorlat 14 / 54

15 Pontok osztálya (Point.java) class Point { public double x ; public double y ; public Point ( double x, double y ) { this. x = x ; this. y = y ; public double getx () { return x ; public double gety () { return y ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 15 / 54

16 Pontok osztálya (Point.java)... public void setx ( double x ) { this. x = x ; public void sety ( double y ) { this. y = y ; public void move ( double dx, double dy ) { x += dx ; y += dy ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 16 / 54

17 Pontok osztálya (Point.java)... public double distance ( Point p ) { return distance ( this, p ); public static double distance ( Point p1, Point p2 ) { return Math. sqrt ( Math. pow ( p1. x - p2.x, 2) + Math. pow ( p1. y - p2.y, 2)); public String tostring () { return " ( " + x + "," + y + " ) " ; Programozási nyelvek II.: JAVA, 11. gyakorlat 17 / 54

18 Alakzatok osztálya (Shape.java) class Shape { private Point center ; protected double area ; protected double circumference ; public Shape ( double x, double y ) { center = new Point (0.0,0.0); center. x = x ; center. y = y ; public Shape () { center = new Point (0.0,0.0);... Programozási nyelvek II.: JAVA, 11. gyakorlat 18 / 54

19 Alakzatok osztálya (Shape.java)... public Point getcenter () { Point result = new Point (0.0,0.0); result. x = this. center. x ; result. y = this. center. y ; return result ; public void setcenter ( Point center ) { this. center. x = center. x ; this. center. y = center. y ; public double getarea () { return area ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 19 / 54

20 Alakzatok osztálya (Shape.java)... public double getcircumference () { return circumference ; public void move ( double dx, double dy ) { center. move ( dx, dy ); public void tocenterpoint ( Point p ) { center = p ; public String tostring () { return " kozeppont = ( " + center. x + ", " + center. y + " ) " ; Programozási nyelvek II.: JAVA, 11. gyakorlat 20 / 54

21 Körök osztálya (Circle.java) class Circle extends Shape { private double radius ; public Circle ( Point p, double radius ) { super ( p.x, p. y ); this. radius = radius ; public Circle ( double x, double y ) { super (x, y ); public Circle () { super ();... Programozási nyelvek II.: JAVA, 11. gyakorlat 21 / 54

22 Körök osztálya (Circle.java)... public double getradius () { return radius ; public void setradius ( double r ) { if ( r < 0.0) r = 0.0; radius = r ; public void enlarge ( double factor ) { radius *= factor ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 22 / 54

23 Körök osztálya (Circle.java)... public double getarea () { super. area = Math. PI * radius * radius ; return super. getarea (); public double getcircumference () { super. circumference = 2* Math. PI * radius ; return super. getcircumference (); public boolean lieswithin ( Point p, double delta ) { return Math. abs ( super. getcenter (). distance ( p ) - radius ) < delta ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 23 / 54

24 Körök osztálya (Circle.java)... public boolean isinside ( Point p ) { return ( Math. pow ( p. x - super. getcenter (). getx (),2) + Math. pow ( p. y - super. getcenter (). gety (),2) <= Math. pow ( radius,2)); public String tostring () { return super. tostring () + ", sugar = " + radius ; Programozási nyelvek II.: JAVA, 11. gyakorlat 24 / 54

25 Téglalapok osztálya (Rectangle.java) class Rectangle extends Shape { private double length ; private double width ; public Rectangle ( Point p, double length, double width ) { super ( p.x, p. y ); this. length = length ; this. width = width ; public Rectangle ( double x, double y ) { super (x, y ); public Rectangle () { super ();... Programozási nyelvek II.: JAVA, 11. gyakorlat 25 / 54

26 Téglalapok osztálya (Rectangle.java)... public double getlength () { return length ; public void setlength ( double l ) { if ( l < 0) { l = -l ; length = l ; public double getwidth () { return width ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 26 / 54

27 Téglalapok osztálya (Rectangle.java)... public void setwidth ( double w ) { if ( w < 0) { w = -w ; width = w ; public double getarea () { super. area = width * length ; return super. getarea ();... Programozási nyelvek II.: JAVA, 11. gyakorlat 27 / 54

28 Téglalapok osztálya (Rectangle.java)... public double getcircumference () { super. circumference = 2*( width + length ); return super. getcircumference (); public String tostring () { return super. tostring () + ", hosszusag = " + length + ", szelesseg = " + width ; Programozási nyelvek II.: JAVA, 11. gyakorlat 28 / 54

29 A f program (ShapeTest.java) class ShapeTest { public static void main ( String [] args ) {... Programozási nyelvek II.: JAVA, 11. gyakorlat 29 / 54

30 Kompozíció Az objektumtípusok közötti kapcsolat (asszociáció) egyik fajtája A két osztály között nem örökl dési kapcsolat van, hanem csupán az egyik osztály felhasználja a másik osztályt a deníciójához, annak szerves része lesz, anélkül nem létezhet Programozási nyelvek II.: JAVA, 11. gyakorlat 30 / 54

31 Kompozíció class Person { private String name ; /* String " is part of " Person */ private Integer age ; /* Integer " is part of " Person */ public static Person make ( String name, Integer age ) { return (( age > 0 &&! name. isempty ())? new Person ( name, age ) : null ); private Person ( String name, Integer age ) { this. name = new String ( name ); this. age = new Integer ( age );... Programozási nyelvek II.: JAVA, 11. gyakorlat 31 / 54

32 Kompozíció... public String getname () { return new String ( name ); public Integer getage () { return new Integer ( age ); public String tostring () { return String. format ( " Person { name = %s, age = % d ", name, age ); Programozási nyelvek II.: JAVA, 11. gyakorlat 32 / 54

33 Aggregáció class Person { private String name ; /* String " is part of " Person */ private Integer age ; /* Integer " is part of " Person */ private ArrayList < Person > friends ; /* Person " has " Persons */ public static Person make ( String name, Integer age ) { return (( age > 0 &&! name. isempty ())? new Person ( name, age ) : null ); private Person ( String name, Integer age ) { this. name = new String ( name ); this. age = new Integer ( age ); this. friends = new ArrayList < Person >();... Programozási nyelvek II.: JAVA, 11. gyakorlat 33 / 54

34 Aggregáció... public String getname () { return new String ( name ); public Integer getage () { return new Integer ( age ); public void addfriend ( Person friend ) { friends. add ( friend ); public String tostring () { return String. format ( " Person { name = %s, age = %d, friends = % s ", name, age, friends. tostring ()); Programozási nyelvek II.: JAVA, 11. gyakorlat 34 / 54

35 Interfészek referenciatípus absztrakt osztályok típusspecikáció többszörös örökl dés (altípus reláció) Elnevezési konvenció: nevük gyakran a -ható, -het képz vel végz dik (azaz -able), pl. Comparable, Runnable (Futtatható) Programozási nyelvek II.: JAVA, 11. gyakorlat 35 / 54

36 Interfészek deníciója metódusdeklarációk (absztract metódusok) public final static adattagok tagosztályok (taginterfészek) default metódusok (Java 8tól) statikus metódusok (Java 8tól) Programozási nyelvek II.: JAVA, 11. gyakorlat 36 / 54

37 Interfész példa interface Bicycle { void changecadence ( int newvalue ); void changegear ( int newvalue ); void speedup ( int increment ); void applybrakes ( int decrement ); Programozási nyelvek II.: JAVA, 11. gyakorlat 37 / 54

38 Az interfészt megvalósító osztály példa class BMXBicycle implements Bicycle { int cadence = 0; int speed = 0; int gear = 1; public void changecadence ( int newvalue ) { cadence = newvalue ; public void changegear ( int newvalue ) { gear = newvalue ; public void speedup ( int increment ) { speed = speed + increment ;... Programozási nyelvek II.: JAVA, 11. gyakorlat 38 / 54

39 Az interfészt megvalósító osztály példa... public void applybrakes ( int decrement ) { speed = speed - decrement ; public void printstates () { System. out. println ( " cadence : " + cadence + " speed : " + speed + " gear : " + gear ); Programozási nyelvek II.: JAVA, 11. gyakorlat 39 / 54

40 Interfészt megvalósító osztály Az interfészek nem példányosíthatók, el bb meg kell ket valósítani Az osztálydeklarációban szerepel az implements kulcsszó, amely után több interfész felsorolható, amelyeket az osztály megvalósít A metódusok megvalósítása public kell, hogy legyen A konstansok specikációját nem kell megismételni Programozási nyelvek II.: JAVA, 11. gyakorlat 40 / 54

41 Örökl dés Interfészek is kiterjeszthetik egymást: extends után azoknak az interfészeknek a listája, amelyekt l az adott interfész örököl Többszörös örökl dés lehetséges Az osztályok megvalósíthatnak interfészeket ugyanazt az interfészt többen is ugyanaz az osztály többet is Programozási nyelvek II.: JAVA, 11. gyakorlat 41 / 54

42 Relációk a referenciatípusokon Örökl dés osztályok között fa (egyszeres örökl dés, közös gyökér) kódöröklés Örökl dés interfészek között körmentes gráf (többszörös örökl dés, nincs közös gyökér) specikáció öröklése Megvalósítás osztályok és interfészek között kapcsolat a két gráf között, továbbra is körmentes specikáció öröklése Programozási nyelvek II.: JAVA, 11. gyakorlat 42 / 54

43 Interfész megvalósítása Pl. ha az I egy interfész, J az I egyik se, az A osztály megvalósítja It, B leszármazottja az Anak, akkor B megvalósítja Jt. Programozási nyelvek II.: JAVA, 11. gyakorlat 43 / 54

44 Az interfész mint típus használható változódeklarációkban használható formális paraméterek specikációjában Programozási nyelvek II.: JAVA, 11. gyakorlat 44 / 54

45 Az interfész mint típus változódeklarációkban egy interfész típusú változó: referencia, amely olyan objektumra mutathat, amely osztálya (közvetlenül vagy közvetve) megvalósítja az interfészt I v = new A (); J w = new B (); Programozási nyelvek II.: JAVA, 11. gyakorlat 45 / 54

46 Az interfész mint típus formális paraméterek specikációjában egy interfész típusú formális paraméter: megadható egy olyan aktuális paraméter, amely egy objektum, és amely osztálya (közvetlenül vagy közvetve) megvalósítja az interfészt void m ( I p ){... m ( new A ()); void n ( J p ){... n ( new B ()); Programozási nyelvek II.: JAVA, 11. gyakorlat 46 / 54

47 Az interfész mint típus formális paraméterek specikációjában Ha egy változó (vagy formális paraméter) deklarált típusa (azaz statikus típusa) egy interfész, akkor dinamikus típusa egy azt megvalósító osztály a változóra olyan m veleteket használhatunk, amelyek az interfészben (közvetlenül vagy közvetve) deniálva vannak Programozási nyelvek II.: JAVA, 11. gyakorlat 47 / 54

48 Generikus interfészek Típussal paraméterezhet interfészek public interface Pair <K, V > { public K getkey (); public V getvalue (); Programozási nyelvek II.: JAVA, 11. gyakorlat 48 / 54

49 Generikus interfészek public class OrderedPair <K, V > implements Pair <K, V > { private K key ; private V value ; public OrderedPair ( K key, V value ) { this. key = key ; this. value = value ; public K getkey () { return key ; public V getvalue () { return value ; Programozási nyelvek II.: JAVA, 11. gyakorlat 49 / 54

50 Generikus interfészek Pair < String, Integer > p1 = new OrderedPair < String, Integer >( " Even ", 8); Pair < String, String > p2 = new OrderedPair < String, String >( " hello ", " world " ); Programozási nyelvek II.: JAVA, 11. gyakorlat 50 / 54

51 Programozási nyelvek II.: JAVA, 11. gyakorlat 51 / 54

52 SzínesPont és SzínesKör osztály (ColouredPoint.java, ColouredCircle.java, ColouredShapeTest.java Készítsük el a SzínesPont osztályt a Pont osztály leszármazottjaként. Új tulajdonság: szín. Új m veletek: szín beállítása és lekérdezése. A szín attribútum legyen privát. Készítsük el a SzínesKör osztályt a Kör osztály leszármazottjaként. Új m veletei: a szín beállítása és lekérdezése. A színes körök színét a középpontjuk színe határozza meg, amely nem közönséges pont, hanem színes pont. Készítsünk f programot e két osztály tesztelésére! Oldjuk meg a feladatot csomagok nélkül és csomagokkal is (rakjuk a Kör és az Alakzat osztályt a geo, a SzínesKör osztályt geo.coloured, a Pont osztályt a utils.basics, a SzínesPont osztályt a utils.basics.coloured, a f programot pedig a main csomagba)! Programozási nyelvek II.: JAVA, 11. gyakorlat 52 / 54

53 Stack<T> generikus interfész (Stack.java) Készítsünk egy Stack<T> generikus interfészt, amely egy verem m veleteit deniálja (elem elhelyezése a verem tetején, elem kivétele a verem tetejér l, legfels elem lekérdezése, iterátor létrehozása, méret lekérdezése, kivételek dobása hibák esetén)! Programozási nyelvek II.: JAVA, 11. gyakorlat 53 / 54

54 ArrayStack<T>, LinkedStack<T> (ArrayStack.java, LinkedStack.java, StackTest.java) Valósítsuk meg az ArrayStack<T> és a LinkedStack<T> osztályt, amelyek a Stack<T> interfész két különböz implementációját adják meg! Az ArrayStack<T> osztály egy tömbbel, a LinkedStack<T> osztály pedig egy láncolt listával ábrázolja a vermet. Készítsünk f programot, amely teszteli az egyes osztályokban deniált m veleteket! Programozási nyelvek II.: JAVA, 11. gyakorlat 54 / 54

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

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

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

é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

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

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

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

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

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

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

Részletesebben

Java 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

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen

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

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

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

Részletesebben

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

Programozási nyelvek II.: JAVA

Programozási nyelvek II.: JAVA Programozási nyelvek II.: JAVA 12. gyakorlat 2017. december 4-8. 12. gyakorlat Programozási nyelvek II.: JAVA 1 / 39 Az 12. gyakorlat tematikája equals és hashcode metódusok Comparable Set, Map 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

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 Java

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

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia UML emlékeztető, Öröklődés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. UML Osztályok jelölése A diagramokban az osztály jelölésénél a nevét, az attribútumok nevét és a műveletek

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

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

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

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

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

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot

Részletesebben

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

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

Részletesebben

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

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

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

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

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

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

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

OOP: Java 4.Gy: Java osztályok

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

Részletesebben

Java és web programozás

Java és web programozás Budapesti Műszaki Egyetem 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

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 programozási nyelv

Java programozási nyelv Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés

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

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

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

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

Bevezetés a Programozásba II 8. előadás. Polimorfizmus Giachetta Roberto

Bevezetés a Programozásba II 8. előadás. Polimorfizmus Giachetta Roberto Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 8. előadás 2014.03.31. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Öröklődés

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

Programozás II. labor

Programozás II. labor Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés

Részletesebben

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

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

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

Interfészek. PPT 2007/2008 tavasz.

Interfészek. PPT 2007/2008 tavasz. Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált

Részletesebben

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

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

Collections. Összetett adatstruktúrák

Collections. Összetett adatstruktúrák Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,

Részletesebben

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

Alkalmazott Modul III 6. gyakorlat. 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. gyakorlat : öröklődés és polimorfizmus 2011.10.25. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

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

Java III. I I. Osztálydefiníció (Bevezetés) Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban

Részletesebben

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl

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

Objektumorientált programozás Java-ban

Objektumorientált programozás Java-ban Objektumorientált programozás Java-ban Objektumorientált fejlesztés Klasszikus alapszakaszok: Elemzés (analízis) specifikáció, használati esetek (use case diagramok), domain analysis Tervezés (design)

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

Objektumok inicializálása

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

Részletesebben

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

Java III. I I. Osztálydefiníció (Bevezetés) Java III. I I. Osztálydefiníció (Bevezetés) Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 02. 27. Java III.: Osztály definíció JAVA3 / 1 Szintaktikai jelölések A továbbiakban

Részletesebben

Virtuális függvények (late binding)

Virtuális függvények (late binding) Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy

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

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

Generikus Típusok, Kollekciók

Generikus Típusok, Kollekciók Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections

Részletesebben

Web-technológia PHP-vel

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

Részletesebben

ZH mintapélda. Feladat. Felület

ZH mintapélda. Feladat. Felület ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új

Részletesebben

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

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

Részletesebben

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

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

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

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

Objektumelvű programozás

Objektumelvű programozás Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé

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

Elemi Alkalmazások Fejlesztése II.

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

Részletesebben

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto

Informatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto Informatikai Kar 3. fejezet alapismeretek Giachetta Roberto Actually I made up the term 'Object-Oriented', and I can tell you I did not have C++ in mind. (Alan Kay) adottak) 3:3 Feladat: Stack) adatszerkezetet

Részletesebben

Java adattípusok Java programozás alapjai Egyszerű adattípusok (int, float) Osztályokkal objektumok Nincs külön mutató, referencia, címe operátor, helyette: objektumok csak dinamikusan hozhatok létre é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

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

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

Részletesebben

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

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

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

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

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

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

Programozási technológia

Programozási technológia Programozási technológia Generikus osztályok Gyűjtemények Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Generikus osztályok Javaban az UML paraméteres osztályainak a generikus (sablon) osztályok felelnek

Részletesebben

Bevezetés a Programozásba II 3. előadás. Biztonságos adattípusok megvalósítása

Bevezetés a Programozásba II 3. előadás. Biztonságos adattípusok megvalósítása Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 3. előadás Biztonságos adattípusok megvalósítása 2014.02.24. Giachetta Roberto groberto@inf.elte.hu

Részletesebben

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

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

Részletesebben

Már megismert fogalmak áttekintése

Már megismert fogalmak áttekintése Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak

Részletesebben

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

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

Részletesebben

Osztályok, objektumok

Osztályok, objektumok 2. óra Osztályok, objektumok Osztályok felépítése Mezők, metódusok, módosítók JavaBeans Példányosítás Öröklés legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Osztályok, objektumok Témakörök Osztályok

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

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

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok

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

Programozási nyelvek Java

Programozási nyelvek Java Programozási nyelvek Java 11.gyakorlat Operációsrendszertől függő tulajdonságok PATH elválasztó Unix ":" Windows ";" final String PATH_SEPARATOR = File.pathSeparator; Ugyanaz, csak karakterkent final char

Részletesebben