Kurzusok
/
Java
Java
/
Tanterv
/
Osztályok
Os

Osztályok ebben a kurzusban: Java

12 feladat

A(z) Osztályok fogalomról

A Java elsődleges objektumorientált építőeleme az osztály, amely adatok (mezők), más néven példányváltozók, és viselkedés (metódusok) együttese. Az osztály mezőit és metódusait együtt az osztály tagjainak nevezzük.

A tagokhoz való hozzáférést hozzáférés-módosítókkal szabályozhatod; a két leggyakoribb közülük:

  • public: a taghoz bármely kód hozzáférhet (nincs megkötés).
  • private: a taghoz csak az ugyanabban az osztályban lévő kód férhet hozzá.

Java-ban, ha nem adsz meg hozzáférés-módosítót, az alapértelmezés a csomag szintű láthatóság. Ebben az esetben a tag az ugyanabba a csomagba definiált összes osztály számára látható.

Az összetartozó adatok és viselkedés fenti csoportosítását, valamint a tagokhoz való hozzáférés korlátozását egységbe zárásnak nevezzük, ami az objektumorientált programozás egyik alapvető fogalma.

Az osztályra gondolhatsz úgy is, mint egy sablonra, amellyel az osztály példányait létrehozod. Egy osztály példányának létrehozásához (más néven objektum) a new kulcsszót használjuk:

class Car {
}

// Create two car instances
Car myCar = new Car();
Car yourCar = new Car();

A mezőknek típusuk és nevük van (a név camelCase írásmódú), és az osztályban bárhol definiálhatók (az osztály neve PascalCase írásmódú).

class Car {
    // Accessible by anyone
    public int weight;

    // Only accessible by code in this class
    private String color;
}

Egy mezőnek opcionálisan kezdőértéket is adhatsz. Ha egy mezőnek nem adsz kezdőértéket, akkor a típusa alapértelmezett értékét kapja. Egy példány mezőértékeit pontjelöléssel érheted el és frissítheted.

class Car {
    // Will be set to specified value
    public int weight = 2500;

    // Will be set to default value (0)
    public int year;
}

Car newCar = new Car();
newCar.weight; // => 2500
newCar.year;   // => 0

// Update value of the field
newCar.year = 2018;

A privát mezők általában egy metódus meghívásának mellékhatásaként frissülnek. Az ilyen metódusok általában nem adnak vissza értéket; ebben az esetben a visszatérési típus void kell legyen:

class CarImporter {
    private int carsImported;

    public void importCars(int numberOfCars)
    {
        // Update private field
        carsImported = carsImported + numberOfCars;
    }
}

Vedd figyelembe, hogy a Java-osztályokban nem szokás nyilvános mezőket használni. Jellemzően privát mezőket használunk, amelyeket gettereken és settereken keresztül érünk el.

Egy osztályon belül a this kulcsszó az aktuális osztályra hivatkozik. Ez különösen akkor hasznos, ha egy paraméter neve megegyezik egy mező nevével:

class CarImporter {
    private int carsImported;

    public void setImportedCars(int carsImported)
    {
        // Update private field from public method
        this.carsImported = carsImported;
    }
}
Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg

Tanuld meg a(z) Osztályok fogalmat