Verschil tussen klasse en object in OOP's

Belangrijkste verschillen tussen klasse en object

  • Een klasse is een sjabloon voor het maken van objecten in een programma, terwijl het object een instantie van een klasse is.
  • Een klasse is een logische entiteit, terwijl een object een fysieke entiteit is.
  • Een klasse wijst geen geheugenruimte toe; aan de andere kant wijst een object geheugenruimte toe.
  • U kunt een klasse slechts één keer declareren, maar u kunt meer dan één object maken met behulp van een klasse.
  • Klassen kunnen niet worden gemanipuleerd, terwijl objecten wel kunnen worden gemanipuleerd.
  • Klassen hebben geen waarden, terwijl objecten hun eigen waarden hebben.
  • U kunt een klasse maken met het trefwoord "class", terwijl u met de hand een object kunt maken met het trefwoord "nieuw" in Java.
Klasse versus object
Klasse versus object

Wat is klasse?

Een klasse is een entiteit die bepaalt hoe een object zich zal gedragen en wat het object zal bevatten. Met andere woorden, het is een blauwdruk of een reeks instructies om een ​​specifiek type object te bouwen. Het biedt initiële waarden voor lidvariabelen en lidfuncties of -methoden.

Wat is voorwerp?

Een object is niets anders dan een op zichzelf staand onderdeel dat bestaat uit methoden en eigenschappen om gegevens bruikbaar te maken. Het helpt je om het gedrag van de klas te bepalen.

Wanneer u bijvoorbeeld een bericht naar een object verzendt, vraagt ​​u het object een van zijn methoden aan te roepen of uit te voeren.

From a programming point of view, an object can be a data structure, a variable, or a function that has a memory location allocated. The object is designed as class hierarchibijvoorbeeld.

Klasse versus object – het verschil daartussen

Hier is het belangrijke verschil tussen klasse en object:

Klasse Object
Een klasse is een sjabloon voor het maken van objecten in een programma. Het object is een instantie van een klasse.
Een klasse is een logische entiteit Object is een fysieke entiteit
Een klasse wijst geen geheugenruimte toe wanneer deze wordt gemaakt. Object wijst geheugenruimte toe wanneer ze worden gemaakt.
Je kunt een klasse slechts één keer declareren. U kunt meer dan één object maken met behulp van een klasse.
Voorbeeld: auto. Voorbeeld: Jaguar, BMW, Tesla, enz.
Klasse genereert objecten Objecten geven leven aan de klas.
Klassen kunnen niet worden gemanipuleerd omdat ze niet beschikbaar zijn in het geheugen. Ze kunnen worden gemanipuleerd.
Er zijn geen waarden die aan de velden zijn gekoppeld. Elk object heeft zijn eigen waarden, die aan de velden zijn gekoppeld.
U kunt een klas maken met het trefwoord ‘class’. U kunt een object maken met het trefwoord "nieuw" in Java

Begrijp het concept van Java-klassen en objecten met een voorbeeld.

Laten we een voorbeeld nemen van het ontwikkelen van een huisdiermanagementsysteem, speciaal bedoeld voor honden. Je hebt verschillende informatie over de honden nodig, zoals verschillende hondenrassen, de leeftijd, de grootte, enz.

Je moet wezens uit het echte leven, dat wil zeggen honden, modelleren tot software-entiteiten.

Concept van Java-klassen en objecten

Bovendien is de vraag van een miljoen dollar: hoe ontwerp je dergelijke software? Hier is de oplossing-

Laten we eerst een oefening doen.

Hieronder ziet u de foto van drie verschillende hondenrassen.

Concept van Java-klassen en objecten

Stop hier nu meteen! Noteer de verschillen daartussen.

Enkele van de verschillen die u misschien heeft genoemd, zijn ras, leeftijd, grootte, kleur, enz. Als u even nadenkt, zijn deze verschillen ook enkele gemeenschappelijke kenmerken die deze honden delen. Deze kenmerken (ras, leeftijd, grootte, kleur) kunnen een gegevenselement vormen voor uw object.

Concept van Java-klassen en objecten

Maak vervolgens een lijst van het algemene gedrag van deze honden, zoals slapen, zitten, eten, enz. Dit zijn dus de acties van onze softwareobjecten.

Concept van Java-klassen en objecten

Tot nu toe hebben we follo gedefinieerdwing dingen,

  • Klasse: Honden
  • Gegevens leden or objecten: grootte, leeftijd, kleur, ras, enz.
  • Methoden: eten, slapen, zitten en rennen.

Concept van Java-klassen en objecten

Voor verschillende waarden van gegevensleden (rasgrootte, leeftijd en kleur) in de Java-klasse krijgt u nu verschillende hondenobjecten.

Concept van Java-klassen en objecten

U kunt elk programma ontwerpen met behulp van deze OOPs-aanpak.

Klassen en objecten in Java

In het onderstaande programma hebben we een klasse uitgeroepen met de naam Hond. We hebben een object van de klasse genaamd “maltees” gedefinieerd met behulp van een nieuw trefwoord. In de laatste verklaring System.out.println(maltese.getInfo()); we geven hondeninformatie weer zoals ras, grootte, leeftijd, kleur, enz.

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

Ras is: Maltees Grootte is: Klein Leeftijd is:2 kleur is: wit

Soorten klassen

Following zijn de belangrijkste soorten klassen:

Afgeleide klassen en erfenis

Een afgeleide klasse is een klasse die is gemaakt of afgeleid van een andere herinnerende klasse. Het wordt gebruikt om de functionaliteit van de basisklasse te vergroten. Dit type klasse ontleent eigenschappen van een bestaande klasse en erft eigenschappen ervan. Het kan ook zijn eigen eigenschappen toevoegen of delen/uitbreiden.

Superklassen:

Een superklasse is een klasse waaruit u vele subklassen kunt afleiden.

Subklassen:

Een subklasse is een klasse die voortkomt uit een superklasse.

Gemengde klassen

Een gemengde klasse is nog een functionaliteit waarmee u de eigenschappen van de ene klasse naar de andere kunt erven. Het gebruikt een subset van de functionaliteit van klasse, terwijl een afgeleide klasse de volledige set superklassefunctionaliteit gebruikt.

Gebruik van klasse

Hier zijn de belangrijke toepassingen van klasse:

  • Klasse wordt gebruikt om zowel gegevensvariabelen als lidfuncties te bevatten.
  • Hiermee kunt u door de gebruiker gedefinieerde objecten maken.
  • Klasse biedt een manier om informatie over gegevens te ordenen.
  • U kunt klasse gebruiken om de eigenschap van een andere klasse te erven.
  • Klassen kunnen worden gebruikt om te profiteren van constructor of destructor.
  • Het kan worden gebruikt voor een grote hoeveelheid data en complex toepassingen.

Gebruik van voorwerp

Hier volgen de belangrijke toepassingen van een object

  • Het helpt u te weten welk type bericht wordt geaccepteerd en welk type reacties wordt geretourneerd.
  • U kunt een object gebruiken om toegang te krijgen tot een stukje geheugen met behulp van een objectreferentievariabele.
  • Het wordt gebruikt om gegevens te manipuleren.
  • Objecten vertegenwoordigen een reëel probleem waarvoor u een oplossing zoekt.
  • Het stelt gegevensleden en lidfuncties in staat de gewenste taak uit te voeren.