Java – Object en klassen
Java is een objectgeoriënteerde taal. Als een taal met de objectgeoriënteerde functie ondersteunt Java de volgende fundamentele concepten:
- Polymorfisme
- Overerving
- Inkapseling
- Abstractie
- Klassen
- Objecten
- Instantie
- Methode
- Doorgeven van berichten
In dit hoofdstuk gaan we in op de concepten – Klassen en objecten.
-
Object – Objecten hebben toestanden en gedragingen. Voorbeeld: een hond heeft toestanden – kleur, naam, ras en gedrag – kwispelen, blaffen, eten. Een object is een instantie van een klasse.
-
Klasse – Een klasse kan worden gedefinieerd als een sjabloon / blauwdruk die het gedrag / de toestand beschrijft die het object van zijn type ondersteunt.
Objecten in Java
Laten we nu eens diep kijken naar wat objecten zijn. Als we naar de echte wereld kijken, kunnen we veel objecten om ons heen vinden, autos, honden, mensen, enz. Al deze objecten hebben een staat en een gedrag.
Als we een hond beschouwen, dan is zijn staat is – naam, ras, kleur en het gedrag is – blaffen, kwispelen, rennen.
Als je het software-object vergelijkt met een echt object, hebben ze zeer vergelijkbare kenmerken.
Software-objecten hebben ook een toestand en een gedrag. De toestand van een software-object wordt opgeslagen in velden en het gedrag wordt getoond via methoden.
Dus in softwareontwikkeling werken methoden op de interne toestand van een object en gebeurt de object-naar-object-communicatie via methoden .
Klassen in Java
Een klas is een blauwdruk van waaruit individuele objecten worden gemaakt.
Hieronder volgt een voorbeeld van een klas.
Voorbeeld
public class Dog { String breed; int age; String color; void barking() { } void hungry() { } void sleeping() { }}
Een klasse kan elk van de volgende typen variabelen bevatten.
-
Lokale variabelen – Variabelen gedefinieerd binnen methoden, constructors of blokken worden lokale variabelen genoemd. De variabele wordt gedeclareerd en geïnitialiseerd binnen de methode en de variabele wordt vernietigd wanneer de methode is voltooid.
-
Instancevariabelen – Instancevariabelen zijn variabelen binnen een klasse, maar buiten elke methode. Deze variabelen worden geïnitialiseerd wanneer de klasse wordt geïnstantieerd. Instancevariabelen zijn toegankelijk vanuit elke methode, constructor of blokken van die specifieke cla ss.
-
Klassevariabelen – Klassevariabelen zijn variabelen die binnen een klasse worden gedeclareerd, buiten elke methode, met het statische trefwoord.
Een klasse kan een willekeurig aantal methoden hebben om toegang te krijgen tot de waarde van verschillende soorten methoden. In het bovenstaande voorbeeld zijn blaffen (), honger () en slapen () methoden.
Hieronder volgen enkele van de belangrijke onderwerpen die moeten worden besproken bij het bekijken van klassen van de Java-taal.
Constructors
Wanneer we discussiëren over klassen, zou een van de belangrijkste subonderwerpen constructors zijn. Elke klas heeft een constructor. Als we niet expliciet een constructor voor een klasse schrijven, bouwt de Java-compiler een standaardconstructor voor die klasse.
Elke keer dat een nieuw object wordt gemaakt, wordt ten minste één constructor aangeroepen. De hoofdregel van constructors is dat ze dezelfde naam moeten hebben als de klasse. Een klasse kan meer dan één constructor hebben.
Hieronder volgt een voorbeeld van een constructor –
Voorbeeld
public class Puppy { public Puppy() { } public Puppy(String name) { // This constructor has one parameter, name. }}
Java ondersteunt ook Singleton-klassen, waarbij u slechts één instantie van een klasse kunt maken.
Opmerking – We hebben twee verschillende soorten constructors. In de volgende hoofdstukken gaan we constructors in detail bespreken.
Een object maken
Zoals eerder vermeld, levert een klasse de blauwdrukken voor objecten. Dus eigenlijk wordt een object gemaakt vanuit een klasse. In Java wordt het nieuwe trefwoord gebruikt om nieuwe objecten te maken.
Er zijn drie stappen bij het maken van een object uit een klasse –
-
Declaration – Een variabele declaratie met een variabelenaam met een objecttype.
-
Instantiatie – Het “nieuwe” sleutelwoord wordt gebruikt om het object te maken.
-
Initialisatie – Het sleutelwoord “nieuw” wordt gevolgd door een aanroep naar een constructor. Deze aanroep initialiseert het nieuwe object.
Hieronder volgt een voorbeeld van het maken van een object –
Voorbeeld
Als we compileren en voer het bovenstaande programma uit, dan zal het het volgende resultaat opleveren:
Uitvoer
Passed Name is :tommy
Toegang tot instantievariabelen en methoden
Instancevariabelen en -methoden zijn toegankelijk via gemaakte objecten. Om toegang te krijgen tot een instantievariabele, volgt hieronder het volledig gekwalificeerde pad:
Voorbeeld
Dit voorbeeld legt uit hoe u toegang krijgt tot instantievariabelen en methoden van een klasse.
Als we het bovenstaande programma compileren en uitvoeren, zal het het volgende resultaat opleveren –
Uitvoer
Name chosen is :tommyPuppy"s age is :2Variable Value :2
Regels voor declaratie van bronbestanden
Laten we als laatste deel van deze sectie nu kijken naar de regels voor de declaratie van bronbestanden. Deze regels zijn essentieel bij het declareren van klassen, importinstructies en pakketinstructies in een bronbestand.
-
Er kan slechts één openbare klasse per bronbestand zijn.
-
Een bronbestand kan meerdere niet-openbare klassen hebben.
-
De naam van de openbare klas moet ook de naam van het bronbestand zijn, die aan het einde moet worden toegevoegd door .java. Bijvoorbeeld: de naam van de klas is openbare klasse Medewerker {} dan zou het bronbestand de naam Employee.java moeten hebben.
-
Als de klasse is gedefinieerd in een pakket, dan zou de pakketinstructie de eerste instructie in het bronbestand moeten zijn.
-
Als importinstructies aanwezig zijn, moeten ze tussen de pakketinstructie en de klassenverklaring. Als er geen pakketinstructies zijn, dan zou de importinstructie de eerste regel in het bronbestand moeten zijn.
-
Import- en pakketinstructies impliceren voor alle klassen die aanwezig zijn in het bronbestand. . Het is niet mogelijk om verschillende import- en / of pakketinstructies te declareren voor verschillende klassen in het bronbestand.
Klassen hebben verschillende toegangsniveaus en er zijn verschillende soorten klassen; abstracte klassen, laatste klassen, enz. We zullen deze allemaal uitleggen in het hoofdstuk toegangsmodificatoren.
Naast de bovengenoemde soorten klassen, heeft Java ook enkele speciale klassen genaamd Innerlijke klassen en Anonieme klassen.
Java-pakket
In eenvoudige bewoordingen is het een manier om de klassen en interfaces te categoriseren. Bij het ontwikkelen van applicaties in Java zullen honderden klassen en interfaces worden geschreven, daarom is het categoriseren van deze klassen een must en maakt het het leven veel gemakkelijker.
Verklaringen importeren
In Java als een volledig gekwalificeerde naam, die het pakket en de klassenaam bevat, waarna de compiler de broncode of klassen gemakkelijk kan vinden. De importinstructie is een manier om de juiste locatie voor de compiler te geven om die bepaalde klasse te vinden.
De volgende regel zou de compiler bijvoorbeeld vragen om alle klassen te laden die beschikbaar zijn in de directory java_installation / java / io –
import java.io.*;
Een eenvoudige casestudy
Voor onze casestudy zullen we twee klassen maken. Dit zijn Employee en EmployeeTest.
Open eerst Kladblok en voeg de volgende code toe. Onthoud dat dit de klasse Employee is en dat de klasse een openbare klasse is. Sla nu dit bronbestand op met de naam Employee.java.
De Employee-klasse heeft vier instantievariabelen: naam, leeftijd, benaming en salaris. De klasse heeft één expliciet gedefinieerde constructor, die een parameter nodig heeft.
Voorbeeld
Zoals eerder vermeld in deze tutorial, begint de verwerking vanaf de hoofdmethode. Om deze Employee-klasse te kunnen gebruiken, moet er daarom een hoofdmethode zijn en moeten objecten worden gemaakt. We zullen een aparte klasse voor deze taken maken.
Hieronder volgt de klasse EmployeeTest, die twee instanties van de klasse Employee maakt en de methoden voor elk object aanroept om waarden aan elke variabele toe te wijzen.
Sla de volgende code op in het EmployeeTest.java-bestand.
Compileer nu beide klassen en voer vervolgens EmployeeTest uit om het resultaat als volgt te zien –
Uitvoer
Wat is de volgende stap?
In de volgende sessie zullen we de basisgegevenstypen in Java bespreken en hoe deze kunnen worden gebruikt bij het ontwikkelen van Java-applicaties.