Különbség az osztály és az objektum között az OOP-ban

Főbb különbségek az osztály és az objektum között

  • Az osztály egy sablon objektumok létrehozásához egy programban, míg az objektum egy osztály példánya.
  • Az osztály egy logikai entitás, míg az objektum egy fizikai entitás.
  • Egy osztály nem foglal le memóriaterületet; másrészt egy objektum memóriaterületet foglal le.
  • Egy osztályt csak egyszer deklarálhatunk, de egy osztály használatával több objektumot is létrehozhatunk.
  • Az osztályokat nem lehet manipulálni, míg az objektumokat lehet manipulálni.
  • Az osztályoknak nincs értéke, míg az objektumoknak saját értékeik vannak.
  • Osztályt létrehozhat a „class” kulcsszó használatával, míg kézzel objektumot az „új” kulcsszó használatával Java.
Osztály vs objektum
Osztály vs objektum

Mi az osztály?

Az osztály egy olyan entitás, amely meghatározza, hogyan viselkedjen egy objektum, és mit tartalmazzon az objektum. Más szóval, ez egy tervrajz vagy egy utasításkészlet egy adott típusú objektum felépítéséhez. A tagváltozók és a tagfüggvények vagy metódusok kezdeti értékeit adja meg.

Mi az az objektum?

Az objektum nem más, mint egy önálló komponens, amely metódusokból és tulajdonságokból áll az adatok hasznossá tételére. Segít meghatározni az osztály viselkedését.

Például, amikor üzenetet küld egy objektumnak, arra kéri az objektumot, hogy hívja meg vagy hajtsa végre valamelyik metódusát.

Programozási szempontból egy objektum lehet adatstruktúra, változó vagy függvény, amelynek memóriahelye van lefoglalva. Az objektum osztályhierarchiákként van kialakítva.

Osztály vs objektum – különbség köztük

Itt van az osztály és az objektum közötti fontos különbség:

Osztály tárgy
Az osztály egy sablon objektumok programbeli létrehozásához. Az objektum egy osztály példánya.
Az osztály egy logikai entitás Az objektum egy fizikai entitás
Az osztály létrehozásakor nem foglal le memóriaterületet. Az objektum létrehozásakor mindig lefoglal memóriaterületet.
Az osztályt csak egyszer deklarálhatja. Egy osztály használatával több objektumot is létrehozhat.
Példa: Autó. Példa: Jaguar, BMW, Tesla stb.
Az osztály objektumokat generál A tárgyak életet adnak az osztálynak.
Az osztályokat nem lehet módosítani, mivel nem érhetők el a memóriában. Manipulálhatók.
Nem rendelkezik a mezőkkel társított értékekkel. Minden egyes objektumnak megvannak a maga értékei, amelyek a mezőkhöz vannak társítva.
Osztályt létrehozhat a „class” kulcsszó használatával. Létrehozhat objektumot az „új” kulcsszó használatával Java

Értsd meg a fogalmát Java Osztályok és objektumok egy példával.

Vegyünk egy példát egy kisállat-kezelő rendszer kifejlesztésére, kifejezetten kutyák számára. Különféle információkra lesz szüksége a kutyákról, például a kutyák különböző fajtáiról, koráról, méretéről stb.

Valós lényeket, azaz kutyákat szoftveres entitásokká kell modelleznie.

Koncepciója Java Osztályok és objektumok

Sőt, a millió dolláros kérdés az, hogy hogyan terveznek ilyen szoftvereket? Itt a megoldás -

Először is végezzünk egy gyakorlatot.

Az alábbi képen három különböző kutyafajta látható.

Koncepciója Java Osztályok és objektumok

Itt most azonnal állj meg! Sorolja fel a köztük lévő különbségeket.

A felsorolt ​​különbségek közül néhányat talán fajta, életkor, méret, szín, stb. sorolhat fel. Ha egy pillanatra elgondolkodik, ezek a különbségek ezek a kutyák közös jellemzői is. Ezek a jellemzők (fajta, kor, méret, szín) adattagokat képezhetnek az objektumhoz.

Koncepciója Java Osztályok és objektumok

Ezután sorolja fel ezeknek a kutyáknak a gyakori viselkedését, mint például alvás, ülés, evés stb. Tehát ezek a szoftverobjektumaink műveletei lesznek.

Koncepciója Java Osztályok és objektumok

Eddig a következő dolgokat határoztuk meg,

  • Osztály: Kutyák
  • Adattagok or objektumok: méret, életkor, szín, fajta stb.
  • Mód: enni, aludni, ülni és futni.

Koncepciója Java Osztályok és objektumok

Most az adattagok különböző értékeihez (fajtaméret, életkor és szín) in Java osztályban különböző kutyatárgyakat kapsz.

Koncepciója Java Osztályok és objektumok

Ezzel az OOP megközelítéssel bármilyen programot megtervezhet.

Osztályok és tárgyak itt Java

Az alábbi programban deklaráltunk egy Kutya nevű osztályt. Egy új kulcsszó segítségével definiáltuk a „maltese” osztály objektumát. Az utolsó utasításban System.out.println(maltese.getInfo()); olyan információkat jelenítünk meg a kutyáról, mint a fajta, méret, életkor, szín stb.

// Class Declaration
class Dog {
    // Instance Variables
    String breed;
    String size;
    int age;
    String color;
  
    // method 1
    public String getInfo() {
        return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color);
    }
}
public class Execute{
    public static void main(String[] args) {
        Dog maltese = new Dog();
        maltese.breed="Maltese";
        maltese.size="Small";
        maltese.age=2;
        maltese.color="white";
        System.out.println(maltese.getInfo());
    }
}

output:

Fajta: Máltai Mérete: kicsi Kora:2 színe: fehér

Az osztályok típusai

A következő osztályok fontosabb típusai:

Származtatott osztályok és öröklődés

A származtatott osztály olyan osztály, amelyet más emlékeztető osztályból hoztak létre vagy származtatnak. Az alaposztály funkcionalitásának növelésére szolgál. Ez az osztálytípus a meglévő osztály tulajdonságait származtatja és örökli. Ezenkívül hozzáadhatja vagy megoszthatja/kibővítheti saját tulajdonságait.

Szuperosztályok:

A szuperosztály olyan osztály, amelyből számos alosztály származtatható.

Alosztályok:

Az alosztály egy olyan osztály, amely a szuperosztályból származik.

Vegyes osztályok

A vegyes osztály egy további funkció, amely segít az egyik osztály tulajdonságainak átörökítésében a másikra. Az osztály funkcióinak egy részhalmazát használja, míg a származtatott osztály a szuperosztály funkcióinak teljes készletét használja.

Az osztály felhasználása

Íme az osztály fontos felhasználási módjai:

  • Az osztály az adatváltozók és a tagfüggvények tárolására szolgál.
  • Lehetővé teszi a felhasználó által definiált objektumok létrehozását.
  • Az osztály lehetőséget biztosít az adatokkal kapcsolatos információk rendszerezésére.
  • Használhatja az osztályt egy másik osztály tulajdonságának öröklésére.
  • Az osztályok felhasználhatók a konstruktor vagy a destruktor előnyeinek kihasználására.
  • Nagy mennyiségű adathoz és összetett alkalmazásokhoz használható.

Az objektum használata

Itt vannak egy objektum fontos felhasználási módjai

  • Segít megismerni az elfogadott üzenet típusát és a visszaküldött válaszok típusát.
  • Egy objektum segítségével hozzáférhet egy memóriadarabhoz egy objektum referenciaváltozó segítségével.
  • Adatkezelésre használják.
  • Az objektumok egy valós problémát jelentenek, amelyre megoldást keres.
  • Lehetővé teszi az adattagok és tagfunkciók számára a kívánt feladat végrehajtását.