Dit artikel richt zich op het bespreken van de verschillen tussen procedureel en objectgeoriënteerd programmeren.
Procedurele programmering
Procedureel programmeren kan worden gedefinieerd als een programmeermodel dat is afgeleid van gestructureerd programmeren, gebaseerd op het concept van de aanroepprocedure. Procedures, ook wel routines, subroutines of functies genoemd, bestaan eenvoudigweg uit een reeks rekenstappen die moeten worden uitgevoerd. Tijdens de uitvoering van een programma kan een bepaalde procedure op elk moment worden aangeroepen, ook door andere procedures of door zichzelf.
Kat timf
Talen die worden gebruikt bij procedureel programmeren:
FORTRAN, ALGOL, COBOL,
BASIS, Pascal en C.
Object georiënteerd programmeren
Objectgeoriënteerd programmeren kan worden gedefinieerd als een programmeermodel dat is gebaseerd op het concept van objecten. Objecten bevatten gegevens in de vorm van attributen en code in de vorm van methoden. Bij objectgeoriënteerd programmeren worden computerprogramma's ontworpen met behulp van het concept van objecten die interageren met de echte wereld. Er zijn verschillende objectgeoriënteerde programmeertalen, maar de meest populaire zijn op klassen gebaseerd, wat betekent dat objecten instanties van klassen zijn, die ook hun typen bepalen.
Talen die worden gebruikt bij objectgeoriënteerd programmeren:
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Objectief-C, Dart, Swift, Scala.
bellen sorteren in algoritme
Procedureel programmeren versus objectgeoriënteerd programmeren
Hieronder staan enkele verschillen tussen procedureel en objectgeoriënteerd programmeren:
| Procedureel georiënteerd programmeren | Object georiënteerd programmeren |
|---|---|
| Bij procedureel programmeren wordt het programma opgedeeld in kleine delen, de zogenaamde functies . | Bij objectgeoriënteerd programmeren wordt het programma opgedeeld in kleine delen, de zogenaamde voorwerpen . |
| Procedurele programmering volgt a top-down benadering . | Objectgeoriënteerd programmeren volgt a bottom-up benadering . |
| Er is geen toegangsspecificatie bij procedureel programmeren. | Objectgeoriënteerd programmeren heeft toegangsspecificaties zoals privé, openbaar, beschermd, enz. |
| Het toevoegen van nieuwe gegevens en functies is niet eenvoudig. | Het toevoegen van nieuwe gegevens en functies is eenvoudig. |
| Procedureel programmeren kent geen goede manier om gegevens te verbergen, dus dat is zo minder veilig . | Objectgeoriënteerd programmeren zorgt ervoor dat gegevens verborgen blijven zoals ze zijn veiliger . |
| Bij procedureel programmeren is overbelasting niet mogelijk. | Bij objectgeoriënteerd programmeren is overbelasting mogelijk. |
| Bij procedureel programmeren bestaat er geen concept van het verbergen en overerven van gegevens. | Bij objectgeoriënteerd programmeren wordt het concept van het verbergen en overerven van gegevens gebruikt. |
| Bij procedureel programmeren is de functie belangrijker dan de gegevens. | Bij objectgeoriënteerd programmeren zijn gegevens belangrijker dan functie. |
| Procedurele programmering is gebaseerd op de onwerkelijke wereld . | Objectgeoriënteerd programmeren is gebaseerd op de echte wereld . |
| Procedureel programmeren wordt gebruikt voor het ontwerpen van middelgrote programma's. | Objectgeoriënteerd programmeren wordt gebruikt voor het ontwerpen van grote en complexe programma's. |
| Procedureel programmeren maakt gebruik van het concept van procedureabstractie. | Objectgeoriënteerd programmeren maakt gebruik van het concept van data-abstractie. |
| Herbruikbaarheid van code ontbreekt bij procedureel programmeren, | Herbruikbaarheid van code aanwezig in objectgeoriënteerd programmeren. |
| Voorbeelden: C, FORTRAN, Pascal, Basic, enz. | Voorbeelden: C++, Java, Python, C#, enz. |