Articles

object-oriented programming (OOP)

Object-oriented programming (OOP) is een computerprogrammeermodel dat softwareontwerp organiseert rond data, of objecten, in plaats van functies en logica. Een object kan worden gedefinieerd als een gegevensveld met unieke attributen en gedrag.

OOP richt zich op de objecten die ontwikkelaars willen manipuleren in plaats van de logica die nodig is om ze te manipuleren. Deze benadering van programmeren is zeer geschikt voor programma ‘ s die groot, complex en actief bijgewerkt of onderhouden zijn.

De organisatie van een objectgeoriënteerd programma maakt de methode ook gunstig voor gezamenlijke ontwikkeling, waarbij projecten in groepen worden verdeeld.

bijkomende voordelen van OOP zijn herbruikbaarheid, schaalbaarheid en efficiëntie van de code. Zelfs bij het gebruik van microservices, ontwikkelaars moeten blijven de principes van OOP toe te passen.

de eerste stap in OOP is het verzamelen van alle objecten die een programmeur wil manipuleren en identificeren hoe ze zich tot elkaar verhouden-een oefening die vaak bekend staat als data modeling.

voorbeelden van een object kunnen variëren van fysieke entiteiten, zoals een mens die wordt beschreven door eigenschappen zoals naam en adres, tot kleine computerprogramma ‘ s, zoals widgets.

een afbeelding van objectgeoriënteerd programmeren
een voorbeeld van de conventies in objectgeoriënteerd programmeren.

zodra een object bekend is, wordt het gelabeld met een klasse van objecten die het soort gegevens en alle logische sequenties definieert die het kunnen manipuleren. Elke afzonderlijke logische opeenvolging staat bekend als een methode. Objecten kunnen communiceren met goed gedefinieerde interfaces genaamd berichten.

principes van OOP

objectgeoriënteerd programmeren is gebaseerd op de volgende principes:

  • Encapsulation. De implementatie en status van elk object worden privé gehouden binnen een gedefinieerde grens, of klasse. Andere objecten hebben geen toegang tot deze klasse of de bevoegdheid om wijzigingen aan te brengen, maar zijn alleen in staat om een lijst van openbare functies of methoden aan te roepen. Dit kenmerk van het verbergen van gegevens zorgt voor een grotere beveiliging van het programma en voorkomt onbedoelde data corruptie.
  • abstractie. Objecten onthullen alleen interne mechanismen die relevant zijn voor het gebruik van andere objecten en verbergen onnodige implementatiecode. Dit concept helpt ontwikkelaars gemakkelijker wijzigingen en toevoegingen na verloop van tijd.
  • overerving. Relaties en subklassen tussen objecten kunnen worden toegewezen, waardoor ontwikkelaars een gemeenschappelijke logica kunnen hergebruiken met behoud van een unieke hiërarchie. Deze eigenschap van OOP forceert een grondigere data-analyse, verkort ontwikkelingstijd en zorgt voor een hoger niveau van nauwkeurigheid.
  • polymorfisme. Objecten kunnen meerdere vormen aannemen, afhankelijk van de context. Het programma zal bepalen welke betekenis of gebruik nodig is voor elke uitvoering van dat object, het verminderen van de noodzaak om code te dupliceren.

objectgeoriënteerde programmeertalen

terwijl Simula wordt gecrediteerd als de eerste objectgeoriënteerde programmeertaal, zijn de meest populaire OOP-talen:

  • Java
  • JavaScript
  • Python
  • C++
  • Visual Basic. NET
  • Ruby
  • Scala
  • PHP

OOPSLA is de jaarlijkse conferentie voor objectgeoriënteerde programmeersystemen, talen en toepassingen.

kritiek op OOP

het objectgeoriënteerde programmeermodel is om meerdere redenen bekritiseerd door ontwikkelaars. De grootste zorg is dat OOP te veel nadruk legt op de data-component van softwareontwikkeling en zich niet genoeg richt op berekening of algoritmen. Bovendien, OOP code kan ingewikkelder zijn om te schrijven en langer duren om te compileren.

alternatieve methoden voor OOP zijn:

  • functioneel programmeren
  • gestructureerd programmeren
  • imperatief programmeren

De meeste geavanceerde programmeertalen geven ontwikkelaars de mogelijkheid om deze modellen te combineren.