Erinevus OOP-ides klassi ja objekti vahel

Peamised erinevused klassi ja objekti vahel

  • Klass on mall objektide loomiseks programmis, samas kui objekt on klassi eksemplar.
  • Klass on loogiline üksus, objekt aga füüsiline üksus.
  • Klass ei eralda mäluruumi; teisest küljest eraldab objekt mäluruumi.
  • Klassi saab deklareerida ainult üks kord, kuid klassi abil saate luua rohkem kui ühe objekti.
  • Klassidega ei saa manipuleerida, samas kui objektidega saab manipuleerida.
  • Klassidel pole väärtusi, samas kui objektidel on oma väärtused.
  • Klassi saate luua märksõna "klass" abil, samas kui käsitsi saate luua objekti, kasutades märksõna "uus". Java.
Klass vs objekt
Klass vs objekt

Mis on klass?

Klass on olem, mis määrab, kuidas objekt käitub ja mida objekt sisaldab. Teisisõnu, see on plaan või juhiste kogum teatud tüüpi objekti ehitamiseks. See pakub liikmemuutujate ja liikmefunktsioonide või -meetodite algväärtusi.

Mis on objekt?

Objekt pole midagi muud kui iseseisev komponent, mis koosneb meetoditest ja omadustest andmete kasulikuks muutmiseks. See aitab teil määrata klassi käitumist.

Näiteks kui saadate objektile sõnumi, palute objektil käivitada või käivitada mõni selle meetod.

Programmeerimise seisukohast võib objekt olla andmestruktuur, muutuja või funktsioon, millele on eraldatud mälukoht. Objekt on kujundatud klassihierarhiatena.

Klass vs objekt – erinevus nende vahel

Siin on oluline erinevus klassi ja objekti vahel:

klass objekt
Klass on mall objektide loomiseks programmis. Objekt on klassi eksemplar.
Klass on loogiline üksus Objekt on füüsiline üksus
Klass ei eralda selle loomisel mäluruumi. Objekt eraldab nende loomisel mäluruumi.
Klassi saab deklareerida ainult üks kord. Klassi abil saate luua rohkem kui ühe objekti.
Näide: auto. Näide: Jaguar, BMW, Tesla jne.
Klass genereerib objekte Esemed annavad klassile elu.
Klassidega ei saa manipuleerida, kuna need pole mälus saadaval. Neid saab manipuleerida.
Sellel ei ole väljadega seotud väärtusi. Igal objektil on oma väärtused, mis on seotud väljadega.
Klassi saate luua märksõna "klass" abil. Saate luua objekti kasutades "uus" märksõna sisse Java

Mõistke mõistet Java Klassid ja objektid näitega.

Võtame näiteks spetsiaalselt koertele mõeldud lemmikloomade juhtimissüsteemi väljatöötamise. Teil on vaja koerte kohta erinevat teavet, nagu erinevad koerte tõud, vanus, suurus jne.

Peate modelleerima tegelikud olendid, st koerad tarkvaraüksusteks.

Kontseptsioon Java Klassid ja objektid

Veelgi enam, miljoni dollari küsimus on, kuidas te sellist tarkvara kavandate? Siin on lahendus -

Esiteks teeme harjutuse.

Kolme erinevat koeratõugu pilti näete allpool.

Kontseptsioon Java Klassid ja objektid

Lõpeta siin kohe! Loetlege nendevahelised erinevused.

Mõned erinevused, mille võisite välja tuua, võib-olla tõug, vanus, suurus, värvus jne. Kui mõtlete hetkeks, on need erinevused ka mõned nende koerte ühised omadused. Need omadused (tõug, vanus, suurus, värvus) võivad moodustada teie objekti andmeliikmed.

Kontseptsioon Java Klassid ja objektid

Järgmisena loetlege nende koerte tavalised käitumisviisid, nagu magamine, istumine, söömine jne. Nii et need on meie tarkvaraobjektide tegevused.

Kontseptsioon Java Klassid ja objektid

Seni oleme määratlenud järgmised asjad,

  • klass: Koerad
  • Andmeliikmed or esemeid: suurus, vanus, värv, tõug jne.
  • Meetodid: söö, maga, istu ja jookse.

Kontseptsioon Java Klassid ja objektid

Nüüd andmeliikmete erinevate väärtuste jaoks (tõu suurus, vanus ja värvus). Java klassis, saad erinevaid koeraesemeid.

Kontseptsioon Java Klassid ja objektid

Selle OOP-meetodi abil saate kujundada mis tahes programmi.

Klassid ja objektid Java

Allolevas programmis oleme deklareerinud klassi nimega Koer. Oleme uue märksõna abil määratlenud klassi objekti nimega "maltesa". Viimases lauses System.out.println(maltese.getInfo()); kuvame koera teavet, nagu tõug, suurus, vanus, värv jne.

// 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());
    }
}

Väljund:

Tõug on: Malta Suurus on: Väike Vanus on:2 värv on: valge

Klasside tüübid

Järgmised on peamised klassitüübid:

Tuletatud klassid ja pärand

Tuletatud klass on klass, mis on loodud või tuletatud teisest meenutamisklassist. Seda kasutatakse põhiklassi funktsionaalsuse suurendamiseks. Seda tüüpi klass tuletab ja pärib olemasoleva klassi omadused. Samuti saab see lisada või jagada/laiendada oma omadusi.

Superklassid:

Ülemklass on klass, millest saate tuletada palju alamklasse.

Alamklassid:

Alamklass on klass, mis tuleneb ülemklassist.

Segaklassid

Segaklass on veel üks funktsioon, mis aitab teil ühe klassi omadusi teisele pärida. See kasutab klassi funktsionaalsuse alamhulka, samas kui tuletatud klass kasutab superklassi funktsioonide täielikku komplekti.

Klassi kasutusalad

Siin on klassi olulised kasutusalad:

  • Klassi kasutatakse nii andmemuutujate kui ka liikmefunktsioonide hoidmiseks.
  • See võimaldab teil luua kasutaja määratletud objekte.
  • Klass võimaldab korraldada andmete kohta teavet.
  • Klassi saate kasutada teise klassi vara pärimiseks.
  • Klassid saab kasutada konstruktori või hävitaja eeliste kasutamiseks.
  • Seda saab kasutada suure hulga andmete ja keerukate rakenduste jaoks.

Objekti kasutamine

Siin on objekti olulised kasutusalad

  • See aitab teil teada vastuvõetud sõnumi tüüpi ja tagastatud vastuste tüüpi.
  • Objekti abil saate objekti viitemuutuja abil mälutükile juurde pääseda.
  • Seda kasutatakse andmetega manipuleerimiseks.
  • Objektid kujutavad endast reaalset probleemi, millele otsite lahendust.
  • See võimaldab andmeliikmetel ja liikmefunktsioonidel soovitud ülesannet täita.