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.