OOPs in Java: Encapsulation, Inheritance, Polymorphism, Abstraction

geplaatst in: Articles | 0

in het laatste artikel hebben we OOPs Concepten besproken. Als je het nog niet hebt uitgecheckt, raad ik je ten zeerste aan om het te lezen zodat je een basis Overzicht hebt van alle objectgeoriënteerde programmeerconcepten. In deze gids zullen we vier belangrijke kenmerken van OOPs bespreken met behulp van voorbeelden uit het echte leven.

objectgeoriënteerde benadering: een introductie

Java is een objectgeoriënteerde taal omdat het de mogelijkheden biedt om een objectgeoriënteerd model te implementeren., Deze eigenschappen omvatten abstractie, inkapseling, overerving en polymorfisme.

OOPS gaat over het ontwikkelen van een applicatie rond zijn data, dat wil zeggen objecten die de toegang tot hun eigenschappen en de mogelijke operaties op hun eigen manier bieden.

abstractie

een van de meest fundamentele concepten van OOPs is abstractie. Abstractie is een proces waarbij je alleen “relevante” gegevens toont en onnodige details van een object “verbergt” voor de gebruiker., Bijvoorbeeld, wanneer u online inlogt op uw Amazon-account, voert u uw user_id en wachtwoord in en drukt u op login, wat gebeurt er wanneer u op login drukt, hoe de invoergegevens naar amazon-server worden verzonden, hoe het wordt geverifieerd, is allemaal geabstraheerd van de U.

een ander voorbeeld van abstractie: een auto op zich is een goed gedefinieerd object, dat bestaat uit verschillende andere kleinere objecten zoals een versnellingssysteem, stuurmechanisme, motor, die weer hun eigen subsystemen hebben., Maar voor mensen auto is een enkel object, die kan worden beheerd door de hulp van de subsystemen, zelfs als hun innerlijke details onbekend zijn.

Encapsulation

Deze post geeft de theoretische uitleg van Encapsulation met real-life voorbeelden. Voor gedetailleerde uitleg over dit onderwerp met java programma ‘ s verwijzen we naar encapsulation in java met voorbeeld.

Encapsulation is:

  • bind de gegevens met de code die het manipuleert.
  • het houdt de gegevens en de code veilig tegen externe interferentie

kijkend naar het voorbeeld van een stuurbekrachtiging van een auto., Stuurbekrachtiging van een auto is een complex systeem, dat intern veel componenten strak aan elkaar gekoppeld, ze werken synchroon om de auto in de gewenste richting te draaien. Het controleert zelfs de macht die door de motor aan het stuurwiel wordt geleverd. Maar voor de buitenwereld is er slechts één interface beschikbaar en de rest van de complexiteit is verborgen. Bovendien is de stuurinrichting op zich compleet en onafhankelijk. Het heeft geen invloed op de werking van een ander mechanisme.

hetzelfde concept van inkapseling kan worden toegepast op code., Encapsulated code moet de volgende kenmerken hebben:

  • iedereen weet hoe toegang te krijgen.
  • kan gemakkelijk worden gebruikt, ongeacht de details van de implementatie.
  • er zouden geen bijwerkingen van de code mogen zijn voor de rest van de toepassing.

het idee van encapsulatie is om klassen gescheiden te houden en te voorkomen dat ze nauw met elkaar verbonden zijn.

een voorbeeld van encapsulatie is de klasse van java.util.Hashtable. Gebruiker weet alleen dat hij gegevens in de vorm van sleutel/waarde paar in een Hashtable kan opslaan en dat hij die gegevens op de verschillende manieren kan ophalen., Maar de daadwerkelijke implementatie zoals, hoe en waar deze gegevens daadwerkelijk worden opgeslagen, is verborgen voor de gebruiker. Gebruiker kan gewoon gebruik maken van Hashtable waar hij wil sleutel/waarde paren op te slaan zonder de moeite over de uitvoering ervan.

overerving

Deze post geeft de theoretische uitleg van overerving met real-life voorbeelden. Voor gedetailleerde uitleg over dit onderwerp met java programma ‘ s verwijzen overerving met voorbeelden en soorten overerving in java.

  • overerving is het mechanisme waarmee een object de Sommige/alle eigenschappen van een ander object verwerft.,
  • Het ondersteunt het concept van hiërarchische classificatie.

bijvoorbeeld: auto is een vierwieler, dus neem aan dat we een klasse vierwieler hebben en een subklasse daarvan met de naam Car. Hier verkrijgt Car de eigenschappen van een klasse FourWheeler. Andere classificaties kunnen een jeep, tempo, van etc. FourWheeler definieert een klasse van voertuigen die vier wielen, en specifiek bereik van motorvermogen, laadvermogen enz., Auto (aangeduid als een subklasse) verwerft deze eigenschappen van FourWheeler, en heeft een aantal specifieke eigenschappen, die verschillen van andere classificaties van FourWheeler, zoals luxe, comfort, vorm, grootte, gebruik enz.

een auto kan een verdere classificatie hebben, zoals een open auto, Kleine auto, grote auto enz., die de eigenschappen van zowel vierwieler als auto zal verwerven, maar nog steeds enkele specifieke eigenschappen zal hebben. Op deze manier kan het niveau van de hiërarchie worden uitgebreid tot elk niveau.

Java Swing-en Awt-klassen zijn de beste voorbeelden voor overerving.,

polymorfisme

Deze post geeft de theoretische verklaring van polymorfisme met real-life voorbeelden. Voor gedetailleerde uitleg over dit onderwerp met java-programma ‘ s verwijzen naar polymorfisme in java en runtime & compileertijd polymorfisme.

  • polymorfisme betekent dat objecten anders worden verwerkt op basis van hun gegevenstype.
  • met andere woorden betekent het, één methode met meerdere implementatie, voor een bepaalde klasse van actie. En welke implementatie moet worden gebruikt, wordt bepaald op runtime afhankelijk van de situatie (d.w.z.,
  • dit kan worden geà mplementeerd door een generieke interface te ontwerpen, die generieke methoden biedt voor een bepaalde actieklasse en er kunnen meerdere klassen zijn, die de implementatie van deze generieke methoden biedt.

laat ons hetzelfde voorbeeld van een auto bekijken. Een auto heeft een versnellingssysteem. Hij heeft vier versnellingen voor en één achteruit. Wanneer de motor wordt versneld dan afhankelijk van welke versnelling is ingeschakeld verschillende hoeveelheid vermogen en beweging wordt geleverd aan de auto., De actie is hetzelfde als je tandwiel toepast, maar gebaseerd op het type tandwiel gedraagt de actie zich anders of je kunt zeggen dat het veel vormen toont (polymorfisme betekent veel vormen)

polymorfisme kan zowel statisch als dynamisch zijn. Methode overbelasting is statisch polymorfisme terwijl, methode overheersen is dynamisch polymorfisme.

  • overbelasting in eenvoudige woorden betekent meer dan één methode met dezelfde methodenaam die zich anders gedraagt op basis van de argumenten die worden doorgegeven tijdens het aanroepen van de methode., Dit heet statisch omdat, welke methode moet worden aangeroepen wordt bepaald op het moment van compilatie
  • overschrijdend betekent dat een afgeleide klasse een methode van zijn superklasse implementeert. De aanroep om te overschrijven methode wordt opgelost tijdens runtime, dus genoemd runtime polymorfisme

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *