java class vs object how use class
In deze tutorial zullen we een van de OOPS-concepten in detail bespreken. We zullen alles over Java Class en Object verkennen, samen met voorbeelden:
We weten dat objectgeoriënteerd programmeren de nadruk legt op gegevens en dus draait om entiteiten die objecten worden genoemd. Klassen fungeren als blauwdrukken van deze objecten.
Laten we eens kijken hoe we een klasse en zijn componenten kunnen maken. We zullen ook leren om objecten in Java te maken en te initialiseren met behulp van programmeervoorbeelden verderop in deze tutorial.
Bezoek hier voor de exclusieve Java Training Tutorial Series.
Wat je leert:
- Klassen en objecten in Java
- Klasse in Java
- Object in Java
- Klasse versus object in Java
- Gevolgtrekking
Klassen en objecten in Java
In Java zijn alle features, attributen, methoden, etc. gekoppeld aan klassen en objecten. We kunnen geen Java-programma schrijven met alleen de hoofdfunctie zonder een klasse te declareren zoals we dat kunnen doen in C ++.
Bijvoorbeeld, als we een programma over een voertuig willen schrijven, is een voertuig een real-time object. Maar voertuigen kunnen van verschillende typen zijn. Dit betekent dat het voertuig een typekenmerk heeft dat verschillende waarden kan aannemen, zoals de auto, vrachtwagen, scooter, fiets, enz.
Dus de manier waarop we het voertuigobject in Java uitdrukken, is dat we een klasse 'Voertuig' maken en vervolgens de verschillende attributen ervan definiëren. Dan kunnen we verschillende voertuigklasse-objecten aangeven, zoals auto, fiets, enz.
Binnen de klasse kunnen we de eigenschappen van Voertuig definiëren als de klasseattributen (gegevensleden) en methoden zoals startVehicle (), stopVehicle (), enz.
Op deze manier moeten we, om zelfs de kleinste entiteit in Java uit te drukken, eerst het object identificeren en vervolgens de blauwdruk of een klasse definiëren.
Laten we dus eerst alles leren over klassen en objecten, en dan verder gaan met de andere concepten van OOP in Java.
Klasse in Java
Om een programma in Java te ontwikkelen, maken we gebruik van objecten en klassen. Hoewel een klasse in Java slechts een logische eenheid is, is een object in Java zowel een fysieke als een logische entiteit.
Wat is een object in Java?
Een object is een entiteit die een toestand heeft en gedrag vertoont. Bijvoorbeeld, elk realistisch wezen zoals een pen, een laptop, een mobiel, een tafel, een stoel, een auto, enz. is een object. Al deze objecten zijn of fysiek (tastbaar) of logisch (immaterieel).
De immateriële objecten zijn meestal een luchtvaartsysteem, een banksysteem, enz. Dit zijn logische entiteiten die een bepaalde staat en gedrag hebben.
Elk object heeft de volgende hoofdkenmerken:
- Identiteit: Een uniek ID definieert de objectidentiteit. Dit ID wordt niet gezien door de normale gebruiker, maar intern gebruikt JVM dit ID om het object uniek te identificeren.
- Staat: Het definieert de huidige gegevens in het object of de waarde van het object.
- Gedrag: Deze functie vertegenwoordigt de functionaliteit (gedrag) van een object. Bijvoorbeeld, het voertuigobject dat we hierboven hebben besproken, heeft het gedrag als starten, stoppen, enz.
We zullen de objectdefinitie opnieuw bekijken wanneer we de klasse definiëren.
Dus wat is een klasse?
We weten dat het belangrijkste onderdeel van objectgeoriënteerd programmeren een object is. Als we een bepaald type object willen bouwen, hebben we een blauwdruk nodig. Deze blauwdruk geeft ons een reeks instructies die ons zullen helpen bij het bouwen van een object.
Bijvoorbeeld, laten we zeggen dat we een huis willen bouwen. Het huis is hier een object. Om een huis te bouwen, hebben we een eerste blauwdruk voor het huis nodig. We kunnen het huis niet direct bouwen zoals we willen.
Dit is waar klasse in beeld komt. Dus om een object of een real-life entiteit te bouwen, hebben we eerst een blauwdruk die de inhoud en het gedrag van een object bepaalt. Dit staat bekend als een klasse in objectgeoriënteerd programmeren.
Dus een klasse kan worden gedefinieerd als ' een blauwdruk of een sjabloon en het definieert de staat en het gedrag van het object
We kunnen de klasse ook zien als een groep objecten. Deze groep heeft een aantal eigenschappen die alle objecten gemeen hebben.
Laten we eens kijken hoe we een klas in Java kunnen maken.
Hoe u een klas in Java maakt
De algemene klassesyntaxis van een klassendefinitie in Java is:
handmatig testen hervat voor 3 jaar ervaring
De bovenstaande algemene verklaring van een klasse wordt weergegeven in het onderstaande diagram met een voorbeeld van een klassenverklaring:
Merk op dat superklasse en interface in de klassendeclaratie optioneel zijn. We kunnen ervoor kiezen om een zelfstandige klasse te hebben zonder deze uit een andere superklasse te halen of een interface te implementeren.
Bovenstaande algemene definitie toonde ook de componenten die aanwezig kunnen zijn in de klassendefinitie.
Componenten van klasse
De componenten van de klasse worden hieronder weergegeven.
Zoals getoond in het bovenstaande diagram, bevat een Java-klasse de volgende componenten:
- Velden
- Methoden
- Constructeurs
- Blokken
- Geneste klasse en interface
Vervolgens bespreken we de eerste drie componenten. Deze componenten zijn vereist in elke klas. Geneste klassen en interfaces zijn een totaal ander onderwerp en zullen in onze latere tutorials worden besproken.
Voordat we een discussie over klassecomponenten beginnen, moeten we eerst een klasse Customer_Account definiëren
Velden
Velden zijn variabelen of gegevens van de klasse. Velden worden in Java ook wel lidvariabelen genoemd. We gebruiken de termen veld en variabele door elkaar.
Gewoonlijk zijn velden van een klasse van twee typen:
# 1) Klassevariabelen: Klassevariabelen worden gedeclareerd met het woord 'statisch', zodat het statische variabelen zijn. Dit betekent dat dit type variabele slechts één kopie per klasse heeft, ongeacht hoeveel instanties of objecten aanwezig zijn voor die klasse.
# 2) Instancevariabelen: Dit zijn het tegenovergestelde van klassevariabelen. De gegevensleden worden instantievariabelen genoemd omdat aan deze variabelen tijdens runtime een apart geheugen is toegewezen voor elke klasse-instantie.
In de bovenstaande klassendefinitie hebben we zowel klasse- als instantievariabelen getoond. De variabele “bank_name” gedeclareerd met een statische modifier is de klassevariabele. De andere twee variabelen “klant_accNo” en “klantnaam” zijn instantievariabelen.
Bouwer
Constructors zijn speciale methoden die over het algemeen worden gebruikt om een instantie van een klasse te initialiseren. Constructors hebben geen retourtype, ze hebben dezelfde naam als de klasse en kunnen wel of geen parameters bevatten.
In de bovenstaande klassendefinitie hebben we één constructor.
We zullen meer leren over constructeurs in onze volgende tutorials.
Methode
Een methode in een Java-klasse is de functie die het gedrag van het object en zijn leden definieert.
Een klassemethode wordt op dezelfde manier gemaakt als we reguliere methoden in een programma maken. Binnen de klassemethode kunnen we alle constructies en functies van Java gebruiken.
In onze voorbeeldklasse-definitie hebben we een “printInfo” -methode die de verschillende gegevensleden van de klasse weergeeft.
Een Java-klassemethode heeft meestal het volgende prototype:
Klassemethoden zijn toegankelijk voor de klasseninstantie met behulp van de puntoperator. Dus als we een instantie acc maken van de bovenstaande klasse “Customer_Account”, dan hebben we toegang tot printInfo met behulp van de onderstaande coderegel.
Als de access_modifier statisch is, hebben we geen instantie nodig om toegang te krijgen tot de methode. We kunnen de klassenaam rechtstreeks gebruiken om toegang te krijgen tot de methode als,
Java Class Voorbeeld
Laten we een eenvoudig voorbeeld implementeren om een klasse en object in Java te demonstreren.
Uitvoer
Het bovenstaande programma verklaart een Student-klas. Het heeft drie instantievariabelen, namelijk. student_id, student_name en student_marks.
Vervolgens definiëren we de klasse Main, waarin we een object van de klasse Student declareren met de naam student_object. Vervolgens gebruiken we de puntoperator om toegang te krijgen tot de instantievariabelen en hun waarden af te drukken.
Het bovenstaande programma is een voorbeeld van een hoofdmethode buiten de klas.
In het onderstaande voorbeeld hebben we een hoofdmethode binnen de klas.
Uitvoer
Het bovenstaande programma is hetzelfde als het vorige programma, behalve dat de belangrijkste methode binnen de klasse Student zit.
Object in Java
Nu we genoeg kennis hebben over klassen in Java, kunnen we het object opnieuw definiëren in termen van klasse. Dus een object is ' een instantie van een klasse We maken dus een variabele of instantie van het type class_name en deze wordt een object genoemd.
Enkele punten om te onthouden over een object:
- Een object wordt samen met de klasse gezien als een basiseenheid van OOP.
- Een object is een runtime-eenheid.
- Een object wordt een instantie van een klasse genoemd.
- Een object heeft gedrag en staat.
- Een object krijgt alle eigenschappen en attributen van de klasse waarvan het een instantie is. Maar op elk moment heeft elk object verschillende statussen of variabele waarden.
- Een object wordt gebruikt om een real-time entiteit in softwaretoepassingen weer te geven.
- Een enkele klasse kan een willekeurig aantal objecten hebben.
- Objecten communiceren met elkaar door middel van aanroepmethoden.
Hoe een object te instantiëren
Verklaring van het object wordt ook wel een concretisering van objecten in Java. Het declareren van een object is hetzelfde als het declareren van een variabele.
Bijvoorbeeld, de klasse Customer_Account die we hierboven hebben gedeclareerd, kan worden gebruikt om een object te declareren.
Daarom verklaren of instantiëren we het object van Customer_Account als volgt:
De bovenstaande verklaring declareert of instantieert een object met de naam ‘account’ van de klasse Customer_Account.
Merk op dat wanneer we een object van een klasse instantiëren, de klasse strikt een 'concrete klasse' moet zijn. We kunnen een object van een abstracte klasse niet declareren.
De bovenstaande verklaring verklaart alleen een object. We kunnen deze variabele niet gebruiken om methoden van de klasse aan te roepen of waarden van de lidvariabelen in te stellen. Dit komt omdat we geen geheugen hebben toegewezen aan het gedeclareerde object.
We moeten dus op de juiste manier een object maken om het verder te gebruiken.
De daadwerkelijke creatie van een object wordt gedaan door de initialisatie van objecten. Zodra we een object declareren, moeten we het initialiseren. Alleen dan kunnen we dit object gebruiken om toegang te krijgen tot de lidvariabelen en methoden van de klasse.
Hoe een object te maken
We kunnen een object in Java maken met behulp van de volgende methoden:
# 1) Een nieuw trefwoord gebruiken
We kunnen een object initialiseren door een nieuw trefwoord te gebruiken. Deze methode is de meest gebruikte methode om een nieuw object te maken.
Bijvoorbeeld,gegeven een klasse ABC, kunnen we als volgt een nieuw klasseobject maken:
In de bovenstaande instructie is myObj het nieuwe object dat is gemaakt met de nieuwe operator. Het object dat met deze methode is gemaakt, heeft de beginwaarden van alle gegevensleden. De constructie ABC () die volgt op het nieuwe sleutelwoord is de standaardconstructor van de klasse ABC.
We kunnen ook constructors definiëren met parameters en die constructor aanroepen met het nieuwe trefwoord, zodat we een object maken met de gewenste waarden van gegevensleden.
# 2) Class.forName () methode gebruiken
Java biedt een klasse met de naam 'Class' die alle informatie over klassen en objecten in het systeem bewaart. We kunnen de methode forName () van de klasse ‘Class’ gebruiken om een object te maken. We moeten een volledig gekwalificeerde klassenaam als argument doorgeven aan de methode forName.
Dan kunnen we de methode newInstance () aanroepen die de instantie van de klasse zal retourneren.
De volgende coderegels laten dit zien.
De bovenstaande instructie maakt een nieuw object myObj van klasse ABC.
# 3) Op kloon () Methode
Objectklasse in Java biedt een clone () - methode die de kloon of kopie van het object retourneert die als argument aan de clone () - methode is doorgegeven.
Bijvoorbeeld,
# 4) Door deserialisatie
Java biedt een techniek die deserialisatie wordt genoemd, waarbij we een object uit een opgeslagen bestand lezen. We zullen deserialisatie leren in een aparte tutorial.
Hoe een object te initialiseren
In deze sectie bespreken we de methoden om een object in Java te initialiseren. Initialisatie verwijst naar het toewijzen van waarden aan gegevensleden van de klas. Hieronder staan enkele van de methoden die worden gebruikt om objecten in Java te initialiseren.
# 1) Initialiseer een object via een referentie
Het gecreëerde referentieobject wordt gebruikt om waarden in het object op te slaan. Dit wordt eenvoudig gedaan door een toewijzingsoperator te gebruiken.
De initialisatie van een object door middel van referentie wordt in het onderstaande programma getoond.
Uitvoer
Het bovenstaande programma verklaart een Student-klas met variabelen van drie leden. Vervolgens maken we in de hoofdmethode een object van Student class met behulp van het nieuwe trefwoord. Vervolgens wijzen we gegevens toe aan elk van de lidvelden van het object, zoals weergegeven in het programma.
# 2) Initialisatie van object via methode
In dit voorbeeld maken we de twee objecten van de klasse Student en initialiseren we de waarde voor deze objecten door de methode insertRecord aan te roepen. De methode insertRecord is een lidmethode van de klasse Student.
Uitvoer
# 3) Initialisatie van Object via Constructor
We kunnen een object ook initialiseren door een constructor te gebruiken.
Het programma om het gebruik van constructor te demonstreren wordt hieronder gegeven.
Uitvoer
In dit programma heeft de klasse 'Student een constructor met parameters die de parameters opneemt en ze toewijst aan de lidvariabelen.
Klasse versus object in Java
Klasse | Voorwerp |
---|---|
Een veld met een klaslid heeft geen waarden. | Elk object heeft een kopie van de ledenvelden en de bijbehorende waarden. |
Klasse is een sjabloon of een blauwdruk voor het maken van objecten. | Het object is een instantie van een klasse. |
De klasse wijst bij het aanmaken geen geheugen toe. | Het object krijgt geheugen toegewezen bij het maken. |
De klasse is een logische entiteit. | Het object is een fysieke entiteit. |
Klasse wordt gedeclareerd met een class-sleutelwoord. | Het object wordt gemaakt met de nieuwe, forName () .newInstance (), clone () - methoden. |
Klasse is een groep identieke objecten. Bijv. Klasse Dieren (). | Object is een specifieke entiteit. Bijv. Dieren hond = nieuwe Dieren (); |
De klasse kan slechts één keer worden gedeclareerd. | Een klasse kan een willekeurig aantal instanties of objecten hebben. |
Veel Gestelde Vragen
V # 1) Wat is het verschil tussen klasse en object?
Antwoord: Een klasse is een sjabloon dat wordt gebruikt voor het maken van objecten. Een object is een instantie van een klasse. Hoewel een klasse een logische entiteit is, is een object een fysieke entiteit. Elk object heeft een status waarin alle lidvariabelen specifieke waarden hebben. De klasse heeft geen status.
Q # 2) Wat bevat een Java-klasse?
gratis mp3-muziekdownload-app voor Android
Antwoord: Een Java-klasse die fungeert als een sjabloon of blauwdruk voor het maken van objecten, definieert eigenschappen of velden en gedragingen of methoden.
V # 3) Waarom gebruiken we klassen in Java?
Antwoord: Met behulp van klassen en objecten kunnen we de real-world applicaties in Java modelleren en deze zo efficiënt oplossen. Objecten met een status en gedrag vertegenwoordigen entiteiten uit de echte wereld en klassen fungeren als hun blauwdrukken. Door klassen als bouwstenen te gebruiken, kunnen we elke complexe applicatie modelleren.
Vraag 4) Leg klasse en object uit met een realistisch voorbeeld.
Antwoord: Als we de auto als object beschouwen, kan een auto attributen hebben zoals merk, kleur, motor, kilometerstand, enz. Het kan ook enkele methoden hebben zoals start (), stop (), applybrakes (). Zo kunnen we een auto modelleren tot een softwareobject. Nu kan de auto verschillende merken hebben zoals Maruti, Fiat, etc.
Om al deze automodellen weer te geven, kunnen we een klassetemplate hebben die alle gemeenschappelijke attributen en gedefinieerde methoden bevat, zodat we deze klasse kunnen instantiëren en ons gewenste auto-object kunnen krijgen.
Zo kan een real-life objectauto in Java eenvoudig worden omgezet in een object.
Gevolgtrekking
In deze tutorial hebben we de details van klassen en objecten in Java geleerd. We hebben de definitie van klasse en object behandeld. De tutorial bevat een gedetailleerde discussie over het definiëren van de klasse, componenten van de klas, evenals de voorbeelden van het gebruik van klasse in een programma.
We hebben ook de details van objecten in Java geleerd, inclusief de declaratie, creatie, initialisatie, etc. met geschikte programmeervoorbeelden.
We hebben de belangrijkste verschillen tussen klasse en objecten onderzocht. In onze volgende tutorials zullen we de soorten klassen en de constructors in de klas bespreken, waarna we naar andere onderwerpen gaan.
Bekijk hier de eenvoudige Java-trainingsserie.
Aanbevolen literatuur
- Java Basics: Java Syntax, Java Class en Core Java Concepts
- Java Integer en Java BigInteger Class met voorbeelden
- Wat is Java-vector | Java Vector Class-zelfstudie met voorbeelden
- OOP Java: inleiding tot objectgeoriënteerd programmeren in Java
- Zelfstudie voor Java-array-klassen - java.util.Arrays-klasse met voorbeelden
- Zelfstudie voor Java-scannerklassen met voorbeelden
- Array van objecten in Java: hoe te maken, initialiseren en gebruiken
- Soorten klassen in Java: abstract, concreet, definitief, statisch