Skillnaden mellan klass och objekt i OOPs

Viktiga skillnader mellan klass och objekt

  • En klass รคr en mall fรถr att skapa objekt i ett program, medan objektet รคr en instans av en klass.
  • En klass รคr en logisk enhet, medan ett objekt รคr en fysisk enhet.
  • En klass tilldelar inte minnesutrymme; รฅ andra sidan allokerar ett objekt minnesutrymme.
  • Du kan bara deklarera en klass en gรฅng, men du kan skapa mer รคn ett objekt med en klass.
  • Klasser kan inte manipuleras, medan objekt kan manipuleras.
  • Klasser har inga vรคrden, medan objekt har sina egna vรคrden.
  • Du kan skapa en klass med nyckelordet "klass", medan du kan skapa ett objekt med nyckelordet "nytt". Java.
Klass vs objekt
Klass vs objekt

Vad รคr klass?

En klass รคr en enhet som bestรคmmer hur ett objekt ska bete sig och vad objektet ska innehรฅlla. Med andra ord รคr det en ritning eller en uppsรคttning instruktioner fรถr att bygga en specifik typ av objekt. Den tillhandahรฅller initialvรคrden fรถr medlemsvariabler och medlemsfunktioner eller -metoder.

Vad รคr objekt?

Ett objekt รคr inget annat รคn en fristรฅende komponent som bestรฅr av metoder och egenskaper fรถr att gรถra en data anvรคndbar. Det hjรคlper dig att avgรถra klassens beteende.

Till exempel, nรคr du skickar ett meddelande till ett objekt, ber du objektet att anropa eller exekvera en av dess metoder.

Ur programmeringssynpunkt kan ett objekt vara en datastruktur, en variabel eller en funktion som har en minnesplats allokerad. Objektet รคr utformat som klasshierarkier.

Klass vs objekt โ€“ skillnaden mellan dem

Hรคr รคr den viktiga skillnaden mellan klass och objekt:

Klass ร„ndamรฅlet
En klass รคr en mall fรถr att skapa objekt i programmet. Objektet รคr en instans av en klass.
En klass รคr en logisk enhet Objekt รคr en fysisk enhet
En klass tilldelar inte minnesutrymme nรคr den skapas. Objekt tilldelar minnesutrymme nรคrhelst de skapas.
Du kan bara deklarera klass en gรฅng. Du kan skapa mer รคn ett objekt med en klass.
Exempel: bil. Exempel: Jaguar, BMW, Tesla, etc.
Klass genererar objekt Fรถremรฅl ger liv รฅt klassen.
Klasser kan inte manipuleras eftersom de inte รคr tillgรคngliga i minnet. De kan manipuleras.
Den har inga vรคrden som รคr associerade med fรคlten. Varje objekt har sina egna vรคrden, som รคr associerade med fรคlten.
Du kan skapa klass med nyckelordet "klass". Du kan skapa objekt med "nytt" nyckelord i Java

Fรถrstรฅ begreppet Java Klasser och objekt med ett exempel.

Lรฅt oss ta ett exempel pรฅ att utveckla ett husdjurshanteringssystem, speciellt avsett fรถr hundar. Du kommer att behรถva olika information om hundarna som olika hundraser, รฅlder, storlek etc.

Du mรฅste modellera verkliga varelser, dvs hundar till mjukvaruenheter.

Konceptet av Java Klasser och objekt

Dessutom รคr frรฅgan om miljoner dollar, hur du designar sรฅdan programvara? Hรคr รคr lรถsningen-

Lรฅt oss fรถrst gรถra en รถvning.

Du kan se bilden pรฅ tre olika hundraser nedan.

Konceptet av Java Klasser och objekt

Stanna hรคr nu! Lista ner skillnaderna mellan dem.

Nรฅgra av skillnaderna du kanske har listat ut kanske ras, รฅlder, storlek, fรคrg, etc. Om du tรคnker efter en minut รคr dessa skillnader ocksรฅ nรฅgra vanliga egenskaper som delas av dessa hundar. Dessa egenskaper (ras, รฅlder, storlek, fรคrg) kan bilda datamedlemmar fรถr ditt objekt.

Konceptet av Java Klasser och objekt

Lista sedan ut de vanliga beteendena hos dessa hundar som att sova, sitta, รคta, etc. Sรฅ dessa kommer att vara handlingar av vรฅra programvaruobjekt.

Konceptet av Java Klasser och objekt

Hittills har vi definierat fรถljande saker,

  • Klass: Hundar
  • Datamedlemmar or objekt: storlek, รฅlder, fรคrg, ras, etc.
  • Metoder: รคta, sova, sitta och springa.

Konceptet av Java Klasser och objekt

Nu, fรถr olika vรคrden fรถr datamedlemmar (rasstorlek, รฅlder och fรคrg) i Java klass fรฅr du olika hundfรถremรฅl.

Konceptet av Java Klasser och objekt

Du kan designa vilket program som helst med detta OOPs tillvรคgagรฅngssรคtt.

Klasser och objekt i Java

I programmet nedan har vi deklarerat en klass som heter Dog. Vi har definierat ett objekt av klassen som kallas "maltesiska" med ett nytt nyckelord. I den sista satsen System.out.println(maltesiska.getInfo()); vi visar hundinformation som ras, storlek, รฅlder, fรคrg, etc.

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

Produktion:

Rasen รคr: Maltesisk Storlek รคr: Liten ร…lder รคr:2 fรคrgen รคr: vit

Typer av klasser

Fรถljande รคr de viktiga typerna av klasser:

Hรคrledda klasser och arv

En hรคrledd klass รคr en klass som รคr skapad eller hรคrledd frรฅn andra minnesklasser. Den anvรคnds fรถr att รถka basklassens funktionalitet. Denna typ av klass hรคrleder och รคrver egenskaper frรฅn befintlig klass. Den kan ocksรฅ lรคgga till eller dela/fรถrlรคnga sina egna egenskaper.

Superklasser:

En superklass รคr en klass frรฅn vilken du kan hรคrleda mรฅnga underklasser.

Underklasser:

En underklass รคr en klass som hรคrrรถr frรฅn superklass.

Blandade klasser

En blandad klass รคr ytterligare en funktion som hjรคlper dig att รคrva egenskaperna fรถr en klass till en annan. Den anvรคnder en delmรคngd av klassens funktionalitet, medan en hรคrledd klass anvรคnder den kompletta uppsรคttningen av superklassfunktionalitet.

Anvรคndning av klass

Hรคr รคr de viktiga anvรคndningsomrรฅdena fรถr klass:

  • Klass anvรคnds fรถr att hรฅlla bรฅde datavariabler och medlemsfunktioner.
  • Det lรฅter dig skapa anvรคndardefinierade objekt.
  • Klass ger ett sรคtt att organisera information om data.
  • Du kan anvรคnda klass fรถr att รคrva egenskapen fรถr en annan klass.
  • Klasser kan anvรคndas fรถr att dra fรถrdel av konstruktor eller destruktor.
  • Den kan anvรคndas fรถr en stor mรคngd data och komplexa applikationer.

Anvรคndning av objekt

Hรคr รคr de viktiga anvรคndningsomrรฅdena fรถr ett objekt

  • Det hjรคlper dig att veta vilken typ av meddelande som accepteras och vilken typ av returnerade svar.
  • Du kan anvรคnda ett objekt fรถr att komma รฅt ett minne med hjรคlp av en objektreferensvariabel.
  • Det anvรคnds fรถr att manipulera data.
  • Objekt representerar ett verkligt problem som du hittar en lรถsning pรฅ.
  • Det gรถr det mรถjligt fรถr datamedlemmar och medlemsfunktioner att utfรถra รถnskad uppgift.

Sammanfatta detta inlรคgg med: