Tananyag‎ > ‎Objektumorientáció‎ > ‎

Osztály létrehozása, példányosítás

A Javában rengeteg osztályt megtalálunk az alapcsomagba beépítve, de az igazán szép része az, amikor mi magunk hozunk létre új osztályokat. Lássuk, hogy is megy ez!

Alapvetően az osztályokat külön .java fájlokban definiáljuk. Ha nagy projekten dolgozunk, érdemes ezeket egy mappastruktúrában tartani (lásd: csomagok), de egyelőre legyen minden .java forráskód az alapértelmezett src mappában!

Nézzünk egy példát!

Telefon.java
public class Telefon {
    public int felbontasX, felbontasY;
    public String nev, opRendszer;
}

Létrehoztunk egy Telefon nevű osztályt, de most nézzük meg, mire is jó pontosan :)

Main.java
public class Main {
    public static void main(String[] args) {
        Telefon nexus6p = new Telefon();
        nexus6p.nev = "Nexus 6P";
        nexus6p.felbontasX = 1440;

        nexus6p.felbontasY = 2560;
        nexus6p.opRendszer = "Android 6.0";
        
        System.out.println(nexus6p.nev + " "
            + nexus6p.felbontasX + "x" + nexus6p.felbontasY
            + " (" + nexus6p.opRendszer + ")");
    }
}
Standard output
Nexus 6P 1440x2560 (Android 6.0)

Értelmezzük a kódot!

  • Létrehoztunk egy új osztályt, Telefon néven. Ezt egy külön fájlban (Telefon.java) tettük meg. És most nyert értelmet az eddig minden kódunkban szereplő public class.
  • Különböző változókat hoztunk létre a class-on belül. Ezekről még lesz bővebben szó a mezők című leckében.
  • Létrehoztunk egy másik osztályt, a Main-t. Ebben csak a szokásos public static void main… szerepelt. Igazából nem okozott volna gondot az sem, ha a main()-t átemeljük a Telefon osztályba, de így jobban látszik az osztályok elkülöníthetősége.
  • A main()-ben létrehoztunk egy változót (nexus6p), amibe Telefon típusú objektumokat tudunk tenni.
  • Értékéül egy Telefon példányt adtunk, amit a new szócskával hoztunk létre. Ezt a folyamatot példányosításnak hívjuk.
  • Ezután értéket adtunk a megfelelő változóknak, és ki is tudtuk olvasni őket.

Megjegyzés

Figyeljük meg, hogy a Javában nagyon szabályos elnevezési konvenciók (megállapodások) vannak: az osztályokat nagybetűvel, a változóneveket kisbetűvel szokás indítani. Az összetett szavakat pedig a camelCase szerint szokás írni. (Másképp is lehet, de ajánlatos ezeket a konvenciókat betartani.)

Ismersz már nagybetűs (→objektum) típusokat?

Hova tovább?

Comments