objectgeoriënteerd programmeren verwijst naar het concept in talen op hoog niveau zoals Java en Python die objecten en klassen gebruikt in hun implementaties. OOP heeft vier belangrijke bouwstenen, polymorfisme, encapsulatie, abstractie en overerving., Er zijn andere programmeerparadigma ‘ s zoals procedureel programmeren waarin codes opeenvolgend worden geschreven. Python en Java zijn multi-paradigma high-level programmeertalen dat betekent dat ze ondersteunen zowel OOP en procedurele programmering. Een programmeur beslist over het paradigma dat hij gebruikt op basis van zijn expertise en de problemen die hij probeert op te lossen. Er is echter geen controverse dat OOP programmering gemakkelijker, sneller, dynamischer en beveiligd maakt., Dit is een belangrijke reden waarom Java en Python de meest populaire programmeertalen in de wereld zijn vandaag de dag
als je Java en Python of andere objectgeoriënteerde programmeertalen wilt leren, dan moet je deze objectgeoriënteerde programmeerparadigma ‘ s begrijpen die een relatief eenvoudig concept zijn om te begrijpen. Laten we ze eens bekijken.
Wat is overerving?
in Java en Python worden codes geschreven in objecten of blokken als u OOP methodologie gebruikt., Objecten kunnen met elkaar interageren door de eigenschappen van elk blok te gebruiken of door de functionaliteiten van een blok uit te breiden door overerving. Overerving zorgt ervoor dat codes worden hergebruikt. Er zijn miljoenen Java en Python bibliotheken die een programmeur kan gebruiken door overerving. De eigenschappen van een klasse kunnen worden overgenomen en uitgebreid door andere klassen of functies. Er zijn twee soorten klassen. De ene is de ouder-of basisklasse, en de andere is de kindklasse die de eigenschappen van de ouderklasse kan erven. Overerving is een belangrijke pijler in objectgeoriënteerd programmeren., Het is het mechanisme waarmee klassen in Java, Python en andere OOP-talen het attribuut van andere klassen erft
een ouderklasse kan zijn attributen delen met een dochterklasse. Een voorbeeld van een parent class implementatie is in DDL (Dynamic-link library). Een DDL kan verschillende klassen bevatten die gebruikt kunnen worden door andere programma ‘ s en functies
een echt voorbeeld van overerving is een moeder en kind. Het kind kan attributen zoals hoogte erven, stempatronen, kleur., De moeder kan ook andere kinderen met dezelfde attributen reproduceren
u kunt een functie of klasse genaamd “Move Robot” maken, die een robot controleert om te bewegen. En je zou methode en functies kunnen creëren in andere programma ’s die de “Move Robot” Klasse kunnen erven zonder de codes steeds opnieuw te herschrijven. Je kunt deze klasse ook uitbreiden door het te erven en er nog een paar codes aan te schrijven die een robot zouden instrueren om te bewegen en ook te draaien in bepaalde specifieke omstandigheden met behulp van if en else statement., Met overerving kunt u meerdere robots maken die de attributen van de ouderklasse “Move Robot” zouden erven, wat de herbruikbaarheid van de code garandeert.
samengevat houdt overerving zich bezig met de relatie tussen klassen en methode, die is als een ouder en een kind. Een kind kan worden geboren met een aantal kenmerken van de ouders. Overerving zorgt voor herbruikbaarheid van codes net zoals meerdere kinderen de attributen van hun ouders kunnen erven.,
wanneer we een functie, methode of klasse willen maken, zoeken we naar een superklasse die de code of een deel van de code bevat die we willen implementeren. We kunnen dan onze klasse afleiden uit de bestaande. In Java doen we dit met behulp van het trefwoord “verlengt”, en in Python bereiken we dit door de attributen van een klasse te erven door de class naam op te roepen.
werkt u in bewerkingen?
Wist u dat een app zoals NerdVision MTTR (Mean-Time-to-Repair) kan verbeteren?,
Encapsulation
Dit is een programmeerstijl waarin implementatiedetails verborgen zijn. Het vermindert de complexiteit van softwareontwikkeling sterk. Bij inkapseling worden alleen methoden blootgesteld. De programmeur hoeft zich geen zorgen te maken over de details van de implementatie, maar houdt zich alleen bezig met de operaties. Als een ontwikkelaar bijvoorbeeld een dynamic link library wil gebruiken om datum en tijd weer te geven, hoeft hij zich geen zorgen te maken over de codes in de datum en tijd klasse in plaats dat hij gewoon de data en tijd klasse zou gebruiken door het gebruik van openbare variabelen om het op te roepen., In essentie wordt inkapseling bereikt in Python en Java door het creëren van Private variabelen om verborgen klassen te definiëren in en vervolgens met behulp van openbare variabelen om ze op te roepen voor gebruik. Met deze aanpak kan een klasse worden bijgewerkt of onderhouden zonder zich zorgen te maken over de methoden die ze gebruiken. Als u een klasse in tien methoden oproept en u wijzigingen moet aanbrengen, hoeft u niet de hele methoden bij te werken in plaats van een enkele klasse bij te werken. Zodra de klasse is gewijzigd, wordt de methode automatisch bijgewerkt. Encapsulation zorgt er ook voor dat uw gegevens worden verborgen voor externe wijzigingen., Encapsulation is ook bekend als Data-Hidden.
Encapsulation kan worden gezien als een schild dat gegevens beschermt tegen toegang door externe code.
in essentie bindt Encapsulation data en code als een enkele eenheid en dwingt modulariteit af.
polymorfisme
polymorfisme betekent bestaande in vele vormen. Variabelen, functies en objecten kunnen bestaan in meerdere vormen in Java en Python., Er zijn twee soorten polymorfisme die run time polymorfisme en compilatie-tijd polymorfisme zijn. Runtime kan een andere vorm aannemen terwijl de applicatie draait en compileertijd kan een andere vorm aannemen tijdens het compileren.
een uitstekend voorbeeld van polymorfisme in objectgeoriënteerd programmeren is een cursorgedrag. Een cursor kan verschillende vormen aannemen, zoals een pijl, een lijn, kruis of andere vormen, afhankelijk van het gedrag van de gebruiker of de programmamodus., Met polymorfisme kan een methode of subklasse zijn gedrag en attributen definiëren met behoud van een deel van de functionaliteit van zijn bovenliggende klasse. Dit betekent dat u een klasse kunt hebben die datum en tijd weergeeft, en dan kunt u een methode maken om de klasse te erven, maar moet een welkomstbericht naast de datum en tijd weergeven. Het doel van polymorfisme in objectgeoriënteerd programmeren is het afdwingen van eenvoud, het uitbreiden van codes en het eenvoudig onderhouden van applicaties.,met
overerving kunt u klassenhiërarchieën maken, waarbij een basisklasse zijn gedrag en attributen aan een afgeleide klasse geeft. U bent dan vrij om de functionaliteit te wijzigen of uit te breiden. Polymorfisme zorgt ervoor dat de juiste methode wordt uitgevoerd op basis van het type van het aanroepende object.
programmacode zou anders draaien in een ander besturingssysteem. Het vermogen van programmacode vertonen verschillende gedragingen in het besturingssysteem staat bekend als polymorfisme in OOP. Je kunt een klasse maken die “Move” heet en dan maken vier mensen dieren die de move-klasse zouden erven., Maar we weten niet welk soort dieren ze zouden creëren. Dus polymorfisme zou de dieren toestaan om te bewegen, maar in verschillende vormen gebaseerd op de fysieke kenmerken
a creëert een slak die de verplaatsingsklasse erft, maar de slak zou kruipen
B creëert een kangoeroe die de verplaatsingsklasse erft, maar de kangoeroe zou springen
C creëert een hond die de verplaatsingsklasse erft, maar de honden zouden lopen
D creëert een vis die de verplaatsingsklasse erft, maar de vis zou zwemmen.
polymorfisme heeft ervoor gezorgd dat deze dieren allemaal in beweging zijn, maar in verschillende vormen., Hoe de programma ‘ s zich zouden gedragen zou niet bekend zijn tot de looptijd.
ontwikkelaars en operaties moeten samenwerken voor succes.
de NerdVision app brengt deze twee teams samen om het leven beter te maken voor iedereen
abstractie
abstractie in Java en Python is een programmeermethodologie waarin details van de programmeercodes verborgen zijn voor de gebruiker, en alleen de essentiële dingen worden getoond aan de gebruiker. Abstractie houdt zich meer bezig met ideeën dan met gebeurtenissen., Het is als een gebruiker die een programma (webbrowser) zonder het zien van de achtergrondcodes. Abstractie wordt bereikt in abstracte klassen of interface in Java en Python. NetBeans en Eclipse IDE implementeert abstractie voor Java terwijl Django implementeert abstractie voor Python.
een programmeur gebruikt een geïntegreerde ontwikkelomgeving om een gebruikersinterface te ontwerpen zonder zich zorgen te maken over hoe de IDE de HTML-codes genereert. In essentie toont abstractie de essentiële details voor de gebruiker alleen.,
conclusie
het belangrijkste idee achter objectgeoriënteerd programmeren is eenvoud, herbruikbaarheid van code, uitbreidbaarheid en beveiliging. Deze worden bereikt door inkapseling, abstractie, overerving en polymorfisme. Om een taal te kunnen classificeren als OOP, moet het deze 4 OOP blokken hebben. Abstractie heeft te maken met het weergeven van alleen het relevante aspect voor de gebruiker, bijvoorbeeld het aanzetten van de radio, maar je hoeft niet te weten hoe de radio werkt. Abstractie zorgt voor eenvoud. Overerving heeft te maken met methoden en functies die de attributen van een andere klasse erven., Het belangrijkste doel is code reuse die ervoor zorgt dat programma ‘ s sneller worden ontwikkeld. Droog (herhaal jezelf niet) is een concept in overerving dat impliceert dat je in een programma geen verschillende codes moet hebben die vergelijkbaar zijn. In plaats daarvan, hebben een klasse en gebruik andere methoden om ze aan te roepen en de functionaliteiten uit te breiden waar nodig. Polymorfisme staat programmacode toe om verschillende betekenis of functies te hebben terwijl inkapseling het proces is om klassen privé te houden zodat ze niet door externe codes kunnen worden gewijzigd.