TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját kivételosztály Kovács Zsuzsanna 2009
JAVA PROGRAMOZÁSI NYELV NETBEANS KÖRNYEZETBEN OSZTÁLYOK, OBJEKTUMOK DEFINIÁLÁSA ÉS ALKALMAZÁSA 14/09.
OSZTÁLY 01. Definíció Példányosítás class Tanulo { String nev; int evfolyam; char osztaly; void evfolyamotLep() { evfolyam += 1; } Tanulo tan1; // definiálás tan1 = new Tanulo(); // példányosítás tan1.nev = "Nagy Lajos"; // nev inicializálása tan1.evfolyam = 13; // evfolyam inicializálása tan1.osztaly = 'B'; // osztaly inicializálása tan1.evfolyamotLep(); // evfolyamotLep hívása
LÁTHATÓSÁG 02. félnyilvános tagok (módosító nélkül): az adott csomagban definiált osztályok elérik nyilvános tagok (public): minden olyan objektum hozzájuk fér, amelyik az osztályt is láthatja privát tagok (private): más osztályból nem hivatkozhatók, az adott osztályon belül természetesen elérhetők a tulajdonságokat privát tagként illik definiálni privát tulajdonságok beállítása: getter metódussal privát tulajdonság értékének lekérdezése: setter metódussal a visszatérési érték nélküli metódusok típusa: void this kulcsszóval hivatkozhatunk az osztály aktuális példányára metódusok visszatérési értékét a return kulcsszó után írjuk
GETTER/SETTER METÓDUSOK 03. public class Tanulo { private String nev; private int evfolyam; private char osztaly; public String getNev() { return nev; } public int getEvfolyam() { return evfolyam; } public char getOsztaly() { return osztaly; } public String setNev(String nev) { this.nev = nev; } public int setEvfolyam(int evfolyam) { this.evfolyam = evfolyam; } public char setOsztaly(char osztaly) { this.osztaly = osztaly; } public void evfolyamotLep() { evfolyam += 1; }
METÓDUSOK TÚLTERHELÉSE 04. public class Tanulo {... private int evfolyam, iskolakezdesEve = 2010; private char osztaly;... public void evfolyamotLep() { evfolyam += 1; } public void evfolyamotLep(int evfolyam) { this.evfolyam = evfolyam; } public void evfolyamotLep(int evfolyam, char osztaly){ this.evfolyam = evfolyam; this.osztaly = osztaly; } Példa metódus túlterhelésére
KONSTUKTOR 05. Konstruktor public class Tanulo { private String nev; private final String ISKOLANEVE = "Petrik Lajos SZKI"; private int evfolyam, iskolakezdesEve = 2010; private char osztaly; public Tanulo(String nev, int evfolyam, char osztaly){ this.nev = nev; this.evfolyam = evfolyam; this.osztaly = osztaly; }... }... Tanulo tan2 = new Tanulo("Nagy Lajos", 13, 'B');
OSZTÁLYSZINTŰ TAGOK 06. Példa osztályszintű tagra public class Tanulo {... private static int tanulokSzama = 0; // osztály szintű tag... public Tanulo(String nev, int evfolyam, char osztaly){ this.nev = nev; this.evfolyam = evfolyam; this.osztaly = osztaly; tanulokSzama += 1; } public static int getTanulokSzama() { return tanulokSzama; }... // hivatkozás osztály szintű tagra int db = Tanulo.getTanulokSzama();
JAVA FŐPROGRAM 07. A főprogram: public class Main { public static void main(String[] args) { // program } egy Main nevű osztály statikus, azaz osztályszintű metódusa nyilvános visszatérési értékkel nem rendelkezik egy String alaptípusú tömb paraméterrel rendelkezik a Main osztály példányosítása nélkül is hívható
OSZTÁLYOK KÉSZÍTÉSE NETBEANSBEN 08. Osztályok létrehozása, automatikus konstruktor és getter/setter metódusok generálása SZINFO13_VID_09_01