oop java introduction object oriented programming java
Deze videozelfstudie introduceert OOP-concepten (Object Oriented Programming) in Java, zoals Object, Klasse, Overerving, Polymorfisme, Abstractie, Inkapseling, enz.:
Bij softwareprogrammering hebben we verschillende soorten programmeertalen. De belangrijkste talen onder hen zijn ofwel procedureel ofwel objectgeoriënteerd van aard.
In procedurele programmeertalen worden grotere problemen opgesplitst in kleine oplosbare problemen. Deze kleine problemen worden omgezet in procedures of functies. Op deze manier legt de procedurele programmeertaal de nadruk op functies in plaats van gegevens. Zo negeerden proceduretalen gegevens volledig en garanderen ze dus helemaal geen gegevensbeveiliging.
Dit probleem werd opgevangen door objectgeoriënteerde programmeertaal. Objectgeoriënteerd programmeren is een manier om software te ontwerpen en te programmeren door objecten te manipuleren en de objecten vormen het belangrijkste onderdeel van het programmeren.
Ontdek onze volledige reeks Java-zelfstudies voor beginners hier
Wat je leert:
Videotutorials over OOPS-concepten
OOPS-concept in Java - Deel 1:
Grondige blik op OOPS Concept in Java - Deel 2:
Objectgeoriënteerde programmeertalen leggen meer de nadruk op data dan op de functies. De objectgeoriënteerde programmering (OOP) draait om objecten, d.w.z. een real-time entiteit.
Dit object bundelt gegevens en de methoden die op deze gegevens werken in één eenheid. Op deze manier worden de gegevens beschermd tegen de buitenwereld doordat de methoden zich in het object bevinden. In OOP communiceren de objecten met elkaar via berichten.
Elke OOP-taal ondersteunt de volgende functies:
- Klassen
- Inkapseling
- Abstractie
- Erfenis
- Polymorfisme
Al deze features zorgen ervoor dat de data beveiligd is en tegelijkertijd kunnen we ook robuuste applicaties schrijven. Smalltalk, C ++, Java, enz. Zijn enkele van de objectgeoriënteerde programmeertalen.
In deze tutorial bespreken we de basisprincipes van OOP met betrekking tot Java-taal.
Objectgeoriënteerd programmeren (OOP) in Java
Java is momenteel de meest gewilde programmeervaardigheid. In Java is alles gebaseerd op het object. Java heeft een root-klasse genaamd Object waarvan de volledige functionaliteit van Java is afgeleid. Daarom zullen we in deze tutorial de belangrijkste kenmerken van OOP met betrekking tot Java bespreken.
Aanbevolen literatuur => OOP Interview vragen en antwoorden
Hier gaan we bespreken hoe Java de volgende OOP-functies ondersteunt.
- Object en klasse
- Klasse
- Erfenis
- Polymorfisme
- Abstractie
- Inkapseling
Laten we elk van deze Java OOP-concepten in detail bespreken.
Object en klasse
Een klasse kan worden gedefinieerd als een ontwerp-prototype of een blauwdruk. Objecten worden gemaakt op basis van deze blauwdrukken. Het definieert in wezen een algemeen type dat bestaat uit eigenschappen en methoden die op deze eigenschappen voor dit algemene type werken. Vervolgens definiëren we de instanties van deze klasse die objecten worden genoemd.
Een klasse heeft veel componenten, zoals weergegeven in de volgende afbeelding.
Een object vertegenwoordigt een werkelijke entiteit. In Java is een object een instantie van een klasse. Dus een klasse die een blauwdruk is, kan worden gebruikt om veel objecten te maken. Deze objecten communiceren vaak met elkaar door via methoden berichten aan elkaar door te geven.
Video-zelfstudie: klassen en objecten
Een object heeft doorgaans:
- Een staat: De eigenschappen of attributen van een object op een bepaald moment.
- Gedrag: Methoden vertegenwoordigen het gedrag van een object. Methoden bepalen ook hoe de objecten communiceren.
- Identiteit: Identificeert het object door het een unieke naam te geven.
Bijvoorbeeld, als we een klasse PetAnimals hebben.
Vervolgens kunnen we een object van deze klasse als volgt definiëren:
PetAnimals varken = nieuwe PetAnimals.
Hier is de identiteit van het object een varken.
Hieronder is een programma gegeven dat klasse en object demonstreert.
Uitvoer
In de bovenstaande klas hebben we een klas Student gedefinieerd met twee eigenschappen roll_No en student_name. Vervolgens declareren we in de hoofdmethode twee klasseobjecten, namelijk student1 en student2. Merk op dat deze objecten zijn gemaakt met een nieuwe operator. Nadat de objecten zijn gemaakt, wijzen we gegevens toe aan beide objecteigenschappen.
Ten slotte drukken we de inhoud van het object af met de ‘.’ (Punt) operator.
We zullen meer leren over klassen en objecten in onze specifieke OOP-tutorialsonderwerpen.
Erfenis
Overerving is een van de belangrijkste kenmerken van OOP. Door overerving bevordert Java de herbruikbaarheid van code.
Dus wat is een erfenis in Java?
Overerving is een mechanisme in Java waarbij de ene klasse de eigenschappen van een andere klasse kan erven. De eigenschappen die kunnen worden overgenomen, omvatten gegevensleden en methoden van de klasse.
De klasse die de eigenschappen van een andere klasse erft, wordt de subklasse genoemd. De geërfde klasse staat in Java bekend als de 'super' -klasse.
Door de klasse te erven, erft de subklasse niet alleen de eigenschappen, maar hergebruikt hij ook de code, aangezien de programmeur de code niet opnieuw hoeft te schrijven wanneer hij deze rechtstreeks kan erven door middel van overerving.
In Java wordt overerving bereikt door het sleutelwoord 'extends' te gebruiken. Dit extends-sleutelwoord wordt gebruikt in de definitie van de klasse en wordt gevolgd door de klassenaam die moet worden overgenomen.
Bijvoorbeeld,als er twee klassen zijn, A en B, en A moet worden overgenomen door B, dan wordt deze overerving in Java geschreven als:
Zoals eerder vermeld, is hier A de superklasse of basisklasse of bovenliggende klasse. B is een subklasse, afgeleide klasse of kindklasse.
Overerving is verder onderverdeeld in de volgende typen.
Java ondersteunt enkelvoudige, meervoudige en hiërarchische overerving.
Merk op dat Java geen ondersteuning biedt voor meerdere overervingen. Java ondersteunt ook geen hybride overerving, wat een combinatie is van meerdere en hiërarchische overervingen.
Hieronder vindt u een voorbeeldprogramma van Single Inheritance in Java.
Uitvoer
In het bovenstaande programma hebben we een basisklasse Medewerker. We hebben nog een klasse Developer die erft van de klasse Employee. In de hoofdmethode kunnen we zien dat door een object van de Developer-klasse te declareren, we niet alleen toegang hebben tot de eigenschappen van de Developer-klasse, maar ook tot de Employee-klasse, aangezien deze wordt overgenomen door de Developer-klasse.
Polymorfisme
Polymorfisme is nog een ander belangrijk kenmerk van OOP. Polymorfisme is het vermogen van de taal om objecten of entiteiten meerdere vormen aan te laten nemen. Bijvoorbeeld, een methode met verschillende implementaties is polymorf in Java.
Polymorfisme is van twee soorten in Java:
- Overbelasting of compilatietijdpolymorfisme: Bij polymorfisme tijdens het compileren wordt de aanroep van de polymorfe of overbelaste methode tijdens het compileren opgelost.
- Overschrijven of Runtime-polymorfisme: Bij runtime-polymorfisme wordt de aanroep naar een overschreven methode in het Java-programma tijdens runtime opgelost.
We zullen polymorfisme in detail bespreken in onze volgende tutorials.
Hieronder wordt een voorbeeld gegeven van compilatietijdpolymorfisme in Java, waarbij we een methode-add hebben die overbelast is om optelling uit te voeren met verschillende operandtypen
Uitvoer
In dit programma hebben we drie overbelaste methoden genaamd add. De eerste methode heeft twee int-parameters, de volgende methode heeft drie int-parameters en de derde methode heeft twee dubbele parameters. Afhankelijk van het aantal parameters wordt de methodeaanroep tijdens het compileren opgelost en wordt de juiste aanroep gedaan.
Abstractie
Met behulp van data-abstractie stellen we alleen de essentiële onderdelen van de applicatie bloot die voor de gebruiker toegankelijk zijn gemaakt. Bijvoorbeeld, als we een auto hebben, maken we ons geen zorgen over de interne componenten van de auto, maar beschouwen we alleen de auto als geheel.
Met behulp van een data-abstractiemechanisme identificeren we alleen de noodzakelijke details en negeren we de irrelevante details. Java gebruikt abstracte klassen en interfaces om abstractie te bereiken. Interfaces zijn 100% abstract omdat ze alleen prototypes van methoden hebben en niet hun definitie.
Het onderstaande voorbeeld toont een abstracte klasse en het gebruik ervan.
Uitvoer
In het bovenstaande programma hebben we een abstracte klasse PetAnimals. Hierin hebben we een abstracte methode ‘animalSound’. Vervolgens maken we een Dog-klasse en erven we de PetAnimals-klasse. In de klasse Dog overschrijven we de methode animalSound.
hoe .jnlp-bestanden te openen in Windows 10
Inkapseling
Inkapseling is het verbergen van gegevens of het beschermen van de gegevens. Bij het programmeren bereiken we inkapseling door gegevens en methoden die op die gegevens werken onder een enkele eenheid te wikkelen.
Videotutorial: inkapseling en polymorfisme in Java
Een klasse kan worden gezien als een inkapselingseenheid, d.w.z. we hebben gegevensleden en methoden die werken op deze gegevensleden zoals gebundeld in één enkele eenheid.
Een goede inkapseling kan worden bereikt door de gegevensleden privé te maken en de methoden die op deze gegevens werken openbaar te maken, zodat de gegevens volledig worden beschermd tegen externe entiteiten.
Het onderstaande Java-programma demonstreert het inkapselingsconcept.
Uitvoer
In het bovenstaande programma hebben we een klasse Customer_Account.
In deze klas hebben we gegevensleden die allemaal privé zijn. Vervolgens bieden we voor elk privéveld getter- en setter-methoden om respectievelijk waarden te lezen en in te stellen. Deze getters en setters zijn openbaar. Op deze manier beschermen we de datavelden door ze geen directe toegang van buiten de klas toe te staan.
Ze zijn alleen toegankelijk via getters en setters. Dit demonstreert de inkapseling die we hierboven beschreven.
Veel Gestelde Vragen
V # 1) Wat wordt bedoeld met Object Oriented Programming?
Antwoord: Objectgeoriënteerd programmeren (OOP) is een softwareparadigma dat draait om data. In OOP wordt de nadruk gelegd op data en dus worden problemen uitgedrukt in termen van objecten die entiteiten zijn die bestaan uit data of velden en methoden die op deze datavelden werken.
Door dit te doen, worden verschillende onderscheidende kenmerken van OOP zoals overerving, polymorfisme, abstractie en inkapseling toegepast om gegevensveiligheid, herbruikbaarheid, enz.
Q # 2) Wat zijn de 4 basisprincipes van OOP?
Antwoord:Objectgeoriënteerd programmeren (OOP) kent vier basisprincipes:
- Erfenis
- Polymorfisme
- Abstractie
- Inkapseling
Ze worden ook wel vier pijlers van OOP genoemd.
V # 3) Waarom wordt Java objectgeoriënteerd genoemd?
Antwoord: Java heeft een root class-object waarvan we alle andere kenmerken van Java afleiden. Dus zonder klasse en object kunnen we geen Java-programma hebben. Vandaar dat Java de OOP-taal wordt genoemd.
V # 4) Is Java puur objectgeoriënteerd?
Antwoord: Nee, Java is geen pure objectgeoriënteerde taal. Omdat Java ook primitieve gegevenstypen biedt, zoals int, char, float, double, long, etc., is het niet geclassificeerd als een pure OOP-taal.
V # 5) Wat is het verschil tussen C ++ en Java?
Antwoord: Zowel C ++ als Java zijn objectgeoriënteerde talen en ondersteunen OOP-functies. Maar C ++ is een gecompileerde taal. Java daarentegen is gecompileerd evenals een geïnterpreteerde taal.
De Java-interpreter voert de bytecode tijdens runtime uit en genereert output die deze platformonafhankelijk maakt. C ++ is echter platformafhankelijk.
Meer over OOPS-concept
Klasse
De klasse is een blauwdruk / prototype van een echt object en modelleert de toestand en het gedrag van dat echte object.
Klasse verklaring
Voorwerp
Software-objecten zijn als echte objecten met toestand en gedrag. De toestand wordt opgeslagen als een veld en laat zijn gedrag zien als methoden.
Hier is de ruimte als algemeen ontwerp. Binnen deze kamer moet u een woonkamer, kookkamer, slaapkamer ontwerpen.
Hier zou de 'Keepthings ()' -methode de basisfunctionaliteiten moeten hebben die vereist zijn voor de kamer en het zou aanvullende specificaties moeten hebben volgens de 'woonkamer' -klasse en de 'kookkamer' -klasse-eis. Dus de twee klassen zouden de methoden in de 'room' -klasse moeten erven.
Erfenis
Gedrag (methoden) en toestand van de ene klasse die is geërfd naar de andere klasse, wordt overerving genoemd. De methoden en status worden overgeërfd van de bovenliggende klasse naar de onderliggende klasse.
Zo,
Polymorfisme
In de biologie verwijst polymorfisme naar de kruiden die veel verschillende vormen kunnen hebben.
Met hetzelfde concept in objectgeoriënteerd programmeren, kan de kindklasse de methoden van de bovenliggende klassen erven, en kan het ook unieke kenmerken aan dat gedrag toevoegen. Polymorfisme kan worden bereikt door overbelasting of overbelasting van de methode.
Overbelasting
Overschrijven
UITGANG: Hier overschrijft de child class-methode de parent class-methode.
Super sleutelwoord
Super sleutelwoord is een referentievariabele die wordt gebruikt om te verwijzen naar het direct bovenliggende klasseobject. Met super-trefwoord kunt u verwijzen naar de bovenliggende klassenmethode of variabelen of constructor.
Dit trefwoord
Dit sleutelwoord wordt gebruikt om naar het huidige klasseobject te verwijzen. Met dit sleutelwoord hebt u toegang tot de huidige klasse-instantievariabele of de huidige klassenmethode. Dit kan worden doorgegeven als een argument in de methodeaanroep.
Bouwer
Java-constructors zijn als methoden die worden aangeroepen wanneer het object voor de klasse wordt gemaakt. De constructor moet dezelfde naam hebben als de klasse.
Bij het maken van een object voor de klasse, Myclass myobj = new Myclass ();
De constructormethode wordt aangeroepen. De constructor wordt standaard automatisch gemaakt door de Java-compiler voor alle klassen.
Regels die moeten worden gevolgd voor de constructor:
- De constructor moet dezelfde naam hebben als de klassenaam.
- De constructor mag geen return-instructie hebben.
Aandachtspunten:
- Bij objectgeoriënteerd programmeren zijn objecten het belangrijkste onderdeel van programmeren.
- OOP-concepten zijn object, klasse, overerving, polymorfisme, constructor.
- Super trefwoord dat wordt gebruikt om te verwijzen naar de bovenliggende klasleden, en dit trefwoord wordt gebruikt om naar een huidig klasseobject te verwijzen.
- Constructors zijn als methoden die worden aangeroepen wanneer het object voor de klasse wordt gemaakt.
Gevolgtrekking
Deze tutorial behandelde de basis van belangrijke objectgeoriënteerde functies die door Java worden ondersteund. Dit is slechts een inleidende tutorial over OOPS in Java. We zullen alle onderwerpen in detail behandelen in onze volgende tutorials. Java ondersteunt vier pijlers van OOP, namelijk polymorfisme, overerving, abstractie en inkapseling.
Afgezien van deze functies ondersteunt Java ook de andere functies en OOP-constructies zoals insluiting, aggregatie, het doorgeven van berichten, enz. Die zullen worden besproken in onze aanstaande tutorials.
Aanbevolen literatuur
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Wat is abstractie in Java - leer met voorbeelden
- Wat is erfenis in Java - Tutorial met voorbeelden
- Wat is polymorfisme in Java - Tutorial met voorbeelden
- Inkapseling in Java: volledige zelfstudie met voorbeelden
- Soorten overerving in Java - één versus meerdere overerving
- OOPS-concepten in C #: zelfstudie over objectgeoriënteerd programmeren
- Objectgeoriënteerd programmeren in C ++