Forskellen mellem klasse og objekt i OOP'er

Nรธgleforskelle mellem klasse og objekt

  • En klasse er en skabelon til at skabe objekter i et program, hvorimod objektet er en instans af en klasse.
  • En klasse er en logisk enhed, mens et objekt er en fysisk enhed.
  • En klasse tildeler ikke hukommelsesplads; pรฅ den anden side tildeler et objekt hukommelsesplads.
  • Du kan kun erklรฆre en klasse รฉn gang, men du kan oprette mere end รฉt objekt ved hjรฆlp af en klasse.
  • Klasser kan ikke manipuleres, mens objekter kan manipuleres.
  • Klasser har ingen vรฆrdier, hvorimod objekter har deres egne vรฆrdier.
  • Du kan oprette en klasse ved at bruge "klasse" nรธgleordet, mens du hรฅnd kan oprette et objekt ved at bruge "nyt" nรธgleord i Java.
Klasse vs objekt
Klasse vs objekt

Hvad er klasse?

En klasse er en enhed, der bestemmer, hvordan et objekt vil opfรธre sig, og hvad objektet skal indeholde. Med andre ord er det en plan eller et sรฆt instruktioner til at bygge en bestemt type objekt. Det giver startvรฆrdier for medlemsvariabler og medlemsfunktioner eller -metoder.

Hvad er objekt?

Et objekt er intet andet end en selvstรฆndig komponent, der bestรฅr af metoder og egenskaber til at gรธre en data nyttig. Det hjรฆlper dig med at bestemme klassens adfรฆrd.

For eksempel, nรฅr du sender en besked til et objekt, beder du objektet om at pรฅkalde eller udfรธre en af โ€‹โ€‹dets metoder.

Fra et programmeringssynspunkt kan et objekt vรฆre en datastruktur, en variabel eller en funktion, der har en hukommelsesplacering tildelt. Objektet er designet som klassehierarkier.

Klasse vs objekt - forskel mellem dem

Her er den vigtige forskel mellem klasse og objekt:

Klasse Object
En klasse er en skabelon til at skabe objekter i programmet. Objektet er en forekomst af en klasse.
En klasse er en logisk enhed Objekt er en fysisk enhed
En klasse tildeler ikke hukommelsesplads, nรฅr den oprettes. Objekt tildeler hukommelsesplads, nรฅr de oprettes.
Du kan kun erklรฆre klasse รฉn gang. Du kan oprette mere end รฉt objekt ved hjรฆlp af en klasse.
Eksempel: bil. Eksempel: Jaguar, BMW, Tesla osv.
Klasse genererer objekter Genstande giver liv til klassen.
Klasser kan ikke manipuleres, da de ikke er tilgรฆngelige i hukommelsen. De kan manipuleres.
Den har ingen vรฆrdier, der er knyttet til felterne. Hvert objekt har sine egne vรฆrdier, som er knyttet til felterne.
Du kan oprette klasse ved hjรฆlp af nรธgleordet "klasse". Du kan oprette objekt ved hjรฆlp af "nyt" nรธgleord i Java

Forstรฅ begrebet Java Klasser og objekter med et eksempel.

Lad os tage et eksempel pรฅ udvikling af et kรฆledyrshรฅndteringssystem, specielt beregnet til hunde. Du skal bruge forskellige oplysninger om hundene, sรฅsom forskellige hunderacer, alder, stรธrrelse osv.

Du skal modellere virkelige vรฆsener, dvs. hunde til software-enheder.

Koncept af Java Klasser og objekter

Desuden er spรธrgsmรฅlet om en million dollar, hvordan du designer sรฅdan software? Her er lรธsningen -

Lad os fรธrst lave en รธvelse.

Du kan se billedet af tre forskellige hunderacer nedenfor.

Koncept af Java Klasser og objekter

Stop her lige nu! Skriv ned forskellene mellem dem.

Nogle af de forskelle, du mรฅske har nรฆvnt, kan vรฆre race, alder, stรธrrelse, farve osv. Hvis du tรฆnker et รธjeblik, er disse forskelle ogsรฅ nogle fรฆlles karakteristika, som disse hunde deler. Disse karakteristika (race, alder, stรธrrelse, farve) kan danne et dataelement for dit objekt.

Koncept af Java Klasser og objekter

Dernรฆst skal du liste den almindelige adfรฆrd hos disse hunde som at sove, sidde, spise osv. Sรฅ disse vil vรฆre handlingerne af vores softwareobjekter.

Koncept af Java Klasser og objekter

Indtil videre har vi defineret fรธlgende ting,

  • Klasse: Hunde
  • Data medlemmer or objekter: stรธrrelse, alder, farve, race osv.
  • Metoder: spise, sove, sidde og lรธbe.

Koncept af Java Klasser og objekter

Nu, for forskellige vรฆrdier af datamedlemmer (racestรธrrelse, alder og farve) i Java klasse, fรฅr du forskellige hundegenstande.

Koncept af Java Klasser og objekter

Du kan designe ethvert program ved hjรฆlp af denne OOPs tilgang.

Klasser og objekter i Java

I nedenstรฅende program har vi erklรฆret en klasse kaldet Hund. Vi har defineret et objekt af klassen kaldet "maltesisk" ved hjรฆlp af et nyt nรธgleord. I den sidste sรฆtning System.out.println(maltesisk.getInfo()); vi viser hundeoplysninger som race, stรธrrelse, alder, farve osv.

// 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:

Racen er: Malteser Stรธrrelse er: Lille Alder er:2 farven er: hvid

Klassetyper

Fรธlgende er de vigtige typer af klasser:

Afledte Klasser og Arv

En afledt klasse er en klasse, der er oprettet eller afledt fra en anden mindeklasse. Det bruges til at รธge funktionaliteten af โ€‹โ€‹basisklassen. Denne type klasse udleder og arver egenskaber fra eksisterende klasse. Den kan ogsรฅ tilfรธje eller dele/udvide sine egne egenskaber.

Superklasser:

En superklasse er en klasse, hvorfra du kan udlede mange underklasser.

Underklasser:

En underklasse er en klasse, der stammer fra superklasse.

Blandede klasser

En blandet klasse er endnu en funktionalitet, der hjรฆlper dig med at arve egenskaberne for en klasse til en anden. Den bruger en delmรฆngde af funktionaliteten af โ€‹โ€‹klassen, hvorimod en afledt klasse bruger det komplette sรฆt af superklassefunktionalitet.

Anvendelser af klasse

Her er de vigtige anvendelser af klassen:

  • Klasse bruges til at holde bรฅde datavariable og medlemsfunktioner.
  • Det giver dig mulighed for at oprette brugerdefinerede objekter.
  • Klasse giver en mรฅde at organisere information om data pรฅ.
  • Du kan bruge klasse til at arve en anden klasses egenskab.
  • Klasser kan bruges til at drage fordel af konstruktรธr eller destruktor.
  • Det kan bruges til en stor mรฆngde data og komplekse applikationer.

Brug af objekt

Her er de vigtige anvendelser af et objekt

  • Det hjรฆlper dig med at kende typen af โ€‹โ€‹accepteret besked og typen af โ€‹โ€‹returnerede svar.
  • Du kan bruge et objekt til at fรฅ adgang til et stykke hukommelse ved hjรฆlp af en objektreferencevariabel.
  • Det bruges til at manipulere data.
  • Objekter reprรฆsenterer et problem i den virkelige verden, som du finder en lรธsning pรฅ.
  • Det gรธr det muligt for datamedlemmer og medlemsfunktioner at udfรธre den รธnskede opgave.

Opsummer dette indlรฆg med: