Wat zijn klasse en object in Java OOPS? Leer met voorbeeld


Klassen en objecten in Java zijn de fundamentele componenten van OOP's. Vaak is er verwarring tussen klassen en objecten. In deze tutorial proberen we u het verschil te vertellen tussen klasse en object in Java.

Laten we eerst begrijpen wat ze zijn,

Wat is klasse in Java?

Klasse zijn een blauwdruk of een reeks instructies om een ​​specifiek type object te bouwen. Het is een basisconcept van objectgeoriënteerd programmeren dat draait om de echte entiteiten. Klasse in Java bepaalt hoe een object zich zal gedragen en wat het object zal bevatten.

Syntaxis van klasse in Java

class <class_name>{  
    field;  
    method;  
  }

Wat is object in Java?

Object is een instantie van een klasse. Een voorwerp binnen OOPS is niets anders dan een op zichzelf staand onderdeel dat bestaat uit methoden en eigenschappen om een ​​bepaald type gegevens bruikbaar te maken. Bijvoorbeeld kleurnaam, tafel, tas, barking. Wanneer u een bericht naar een object verzendt, vraagt ​​u het object om een ​​van zijn methoden, zoals gedefinieerd in de klasse, aan te roepen of uit te voeren.

Vanuit programmeeroogpunt kan een object in OOPS een datastructuur, een variabele of een functie bevatten. Er is een geheugenlocatie toegewezen. Java-objecten zijn ontworpen als klassenhiërarchieën.

Objectsyntaxis in Java

ClassName ReferenceVariable = new ClassName();

Wat is het verschil tussen object en klasse in Java?

A Klasse bij objectgeoriënteerd programmeren is het een blauwdruk of prototype dat de variabelen en de methoden (functies) definieert die gemeenschappelijk zijn voor alle Java-objecten van een bepaald soort.

An object in OOPS is een exemplaar van een klasse. Softwareobjecten worden vaak gebruikt om objecten uit de echte wereld te modelleren die u in het dagelijks leven tegenkomt.

Klik hier als de video niet toegankelijk is

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

Laten we een voorbeeld nemen van het ontwikkelen van een huisdier beheersysteem, 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.

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.

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.

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.

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.

Java-klassen en objecten

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

Java-klassen en objecten

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

Bij het maken van een klasse moet men de volgende stappen volgenwing principes.

  • Principe van één enkele verantwoordelijkheid (SRP)- Een klasse mag maar één reden hebben om te veranderen
  • Open Gesloten Verantwoordelijkheid (OCP)- Het zou alle klassen moeten kunnen uitbreiden zonder deze te wijzigen
  • Liskov-vervangingsverantwoordelijkheid (LSR) - Afgeleide klassen moeten vervangbaar zijn voor hun basisklassen
  • Afhankelijkheidsinversieprincipe (DIP) - Vertrouw op abstractie en niet op concreties
  • Interface-segregatieprincipe (ISP)- Bereid fijnkorrelige interfaces voor die klantspecifiek zijn.

Klassen en objecten in Java-voorbeeldprogramma's

// Class Declaration
public 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 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:

Breed is: Maltese Size is:Small Age is:2 color is: white

Java-object en klasse Voorbeeld: hoofdbuitenklasse

In het vorige programma creëerden we de methode main() binnen de klasse. Nu maken we klassen en definiëren we de methode main() in een andere klasse. Dit is een betere manier dan de vorige.

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

Breed is: Maltese Size is:Small Age is:2 color is: white

Overzicht:

  • Java Class is een entiteit die bepaalt hoe Java-objecten zich zullen gedragen en welke objecten ze zullen bevatten
  • Een Java-object is een op zichzelf staand onderdeel dat bestaat uit methoden en eigenschappen om bepaalde soorten gegevens bruikbaar te maken
  • Met een klassensysteem kan het programma een nieuwe klasse (afgeleide klasse) definiëren in termen van een bestaande klasse (superklasse) door een techniek te gebruiken zoals erfenis, overschrijven en vergroten.