– Encapsulation
– Abstraction
– Inheritance
– Polymorphism
Encapsulation
Encapsulation verwijst naar het bundelen van data en methodes op één eenheid. Dit maakt herbruikbaarheid voor functies veiliger. Kijk bijvoorbeeld naar de code hierboven. De eigenschappen zijn alleen zichtbaar voor het bereik van de klasse en de functies phoneColor, phoneWeight, phoneBrand, zijn zichtbaar voor degene die de functie aanroept.
Abstraction
Abstraction stelt ons in staat om een model te maken van iets complexers. Denk bijvoorbeeld aan je telefoon, wanneer je op Instagram gaat en een foto leuk vindt of er commentaar op geeft. Er is veel complexiteit en logica aan de gang op de achtergrond waar je geen weet van hebt. Een ander voorbeeld is een koffiezetapparaat. Stel, je gebruikt een koffiezetapparaat om koffie te zetten. Er gebeuren een hoop dingen in de machine waarvan je niet weet dat ze gebeuren. U, als gebruiker, geeft er waarschijnlijk niet om wat er in de machine gebeurt. U wilt alleen de koffie. In wezen verbergt het onnodige informatie/detail en geeft ons alleen wat we nodig hebben.
Inheritance
Inheritance verwijst naar hoe klassen methoden of eigenschappen van andere klassen kunnen overerven in een hiërarchische structuur. In OOP, is er iets dat een parent class
en een sub class
of child class
wordt genoemd. De sub class
of child class
inherits
van de bovenliggende klasse. Een andere manier waarop we dit kunnen beschrijven is te zeggen dat de subklasse extends
naar de parent
klasse.
Polymorfisme
Polymorfisme kent vele vormen. In termen van programmeren, verwijst het specifiek hoe subklassen alle eigenschappen van een moederklasse erven, maar ook hun eigen specifieke eigenschappen kunnen hebben. Laten we bijvoorbeeld eens denken aan een leraar en de leerlingen in een klaslokaal. Zij hebben veel kenmerken gemeen, zoals naam, leeftijd, enzovoort. De leerlingen kunnen echter hun eigen kenmerken hebben die de leraar niet heeft, zoals het cijfer.
Conclusie
Samenvattend, OOP is een programmeerparadigma dat zich concentreert rond objecten. OOP is niet specifiek voor JavaScript, maar dit is een voorbeeld van het ontwerp ervan in JavaScript. De beste analogie of manier om aan OOP te denken, is dat het in wezen een blauwdruk is voor het maken van objecten. Het kan helpen om onze code meer DRY (Don’t Repeat Yourself) te maken door de herbruikbaarheid in de code. Maak je geen zorgen als je dit concept de eerste keer niet begreep. Ik in ieder geval niet. Ik heb hieronder een link geplaatst voor meer informatie.