Object georiënteerd programmeren
Diversen / / July 04, 2021
Door Guillem Alsina González, in okt. 2017
Naast talen van programmeren, zijn er verschillende manieren of filosofieën om het ontwerp van een programma van software, vormen die worden weerspiegeld in de verschillende talen, die ze omarmen om te voldoen aan de vereisten van een bepaald type taken of van een groep programmeurs. Een van deze filosofieën is objectoriëntatie.
Objectgeoriënteerd programmeren bestaat uit het als "objecten" beschouwen van de onderwerpen van belang van de programma, wordt elk type ander element gedefinieerd met zijn gegevens en de behandelingsmethoden van deze.
Dit maakt het in principe mogelijk om deze objecten te behandelen als een extra gegevenstype waarop methoden kunnen worden toegepast en constructies kunnen worden gemaakt die berekeningen en manipulaties uitvoeren. Deze nieuwe gegevenstypen zijn opgebouwd uit de basistypen die de programmeertaal bevat, en de bewerkingen worden gedeclareerd als: procedures of functies.
Een opmerkelijk kenmerk dat dit ontwikkelingsmodel mogelijk maakt, is de zogenaamde "overerving", die bestaat uit het creëren van nieuwe objecten van de vorige, waarbij zowel hun attributen als de methoden waarop moet worden uitgeoefend worden gewijzigd of uitgebreid ze.
Hoewel objectgeoriënteerd programmeren sinds eind vorig jaar aan populariteit wint in de programmeerwereld, de jaren 80 en vroege jaren 90, de waarheid is dat de creatie ervan veel verder teruggaat, aan het einde van de jaren 60.
De trigger voor het succes van objectgeoriënteerd programmeren was voor een groot deel de popularisering van grafische gebruikersomgevingen zoals Windows, aangezien de paradigma vergemakkelijkt het maken van middelen afbeeldingen, ontlenen ze in andere vergelijkbare bronnen (via de bovengenoemde erfenis), en werk met methoden die reageren op gebruikersacties op elementen.
Vanaf hier werd het het dominante paradigma, dat door een groter aantal talen werd gebruikt, en de meest succesvolle onder programmeurs, een situatie die tot op de dag van vandaag heeft geduurd.
De verschillende soorten objecten moeten op een eerste punt in het programma als een klasse worden gedeclareerd voordat objecten die tot die klasse behoren kunnen worden geïnstantieerd.
Op deze manier is het programma voor iemand die het van buitenaf bekijkt op een begrijpelijke manier opgebouwd door een logische volgorde te volgen.
Om deze concepten begrijpelijk te maken, nemen we een voorbeeld: een programma van administratie van personeel in een bedrijf.
Een klasse kan die van arbeider zijn, met attributen zoals naam, achternaam, nummer van de sociale zekerheid, functie, salaris, enz. Elk geïnstantieerd object zou een andere worker zijn. We kunnen bijvoorbeeld een lijst maken voor elke afdeling, of een globale lijst van werknemers, afhankelijk van de manier van beheren en denken het programma.
De methoden die op deze klasse kunnen worden toegepast, kunnen verschillende zijn, zoals "salarisverhoging", waarbij het salaris met een bepaald percentage wordt vermenigvuldigd, of vakantiedagen, die vakantiemarkeringen zouden invoegen in de kalender van elke werknemer, die tussen werknemers zal verschillen om ervan te genieten verschuivingen.
Deze klasse zou, door overerving, kunnen leiden tot een nieuwe klasse genaamd "beurshouders", die geen attribuut had zoals salaris, maar een of meer met betrekking tot opleiding, toestand De wettelijke vereisten van de stagiaires zouden het bedrijf kunnen verplichten om hen op te leiden.
Door de jaren heen zijn er veel programmeertalen ontstaan die het objectgeoriënteerde paradigma openlijk omarmen als een manier van werken.
De bekendste taal is misschien wel C++, dat traditionele C een objectgeoriënteerd patina geeft.
Er zijn echter ook andere bekende talen die hetzelfde objectgeoriënteerde paradigma volgen, zoals Java, Visual Basic .NET (ontwikkeld door Microsoft), Objective-C (voornamelijk gebruikt in Apple-systemen), en talen die veel worden gebruikt in internettoepassingen zoals Ruby, Python, Perl of PHP.
Foto: Fotolia - RMS164 / Sentavio
Onderwerpen in objectgeoriënteerd programmeren