Reactie plaatsen 
 
Waardering:
  • 0 stemmen - gemiddelde waardering is 0
  • 1
  • 2
  • 3
  • 4
  • 5
[JavaScript] Object-Oriented Programmeren (OOP) met Javascript
Auteur Bericht
Neophyte Offline
Senior Member
****

Berichten: 672
Lid sinds: 08-2006
Reputatie: 35
Bericht: #1
[JavaScript] Object-Oriented Programmeren (OOP) met Javascript
Object-Oriented Programmeren (OOP) met Javascript.

Ik las het topic "JavaScript / AJAX Tutorials" en ik zag dat er nog geen tutorial was over Object-Oriented Programmeren (OOP) in javascript vandaar deze :D.
Nog 1 ding ik ga er al vanuit dat je (x)html en "gewoon" javascript kan daarom noem ik ook niet de complete html erbij en bovendien is het te veel werk :D. Deze tutorial schrijven ook maar dat is maar een bijzaak :P.
Dus daar gaan we

Wat is nu eigenlijk een object?

Een object in een OOP programmeertaal zoals javascript kun je het beste voorstellen als een dagelijks gebruiksvoorwerp of ding. Dit gebruiksvoorwerp of ding heeft bepaalde eigenschappen en acties.

We gaan een auto als Object gebruiken dus we gaan eerste denken welke eigenschappen en acties een auto heeft.

eigenschappen zijn bijvoorbeeld:
  • kenteken
  • merk
  • kleur
  • brandstof

acties zijn bijvoorbeeld
  • starten
  • rijden
  • stoppen

De eigenschappen en acties van een object kunnen we straks zo gebruiken in javascript

Auto.kenteken; als voorbeeld voor een eigenschap
Auto.starten(); als voorbeeld voor een actie

Maar dat moet je bekend voorkomen, aangezien document ook een javascript object is met verschillende methodes, als voorbeeld noem ik dan maar de meest bekende object actie document.write('string');

Waarom nu eigen objecten?

Je eigen object kun je vaker gebruiken op de pagina zonder de code te hoeven aanpassen.

belangrijke voordelen:
  • meer structuur in je code waardoor het duidelijker word
  • Makkelijker aan te passe

belangrijkste nadeel
  • je moet het leren :P



Hoe maken we nu Objecten?

In feite schijf je een stuk code wat niets doet. Je schijft min of meer een bouwtekening wat je object voor eigenschappen en acties heeft. Als begin voorbeeld een Auto object met de bovengenoemde eigenschappen

Code:
function Auto(kenteken, merk, kleur, brandstof){
  this.kenteken = kenteken;
  this.merk = merk;
  this.kleur = kleur;
  this.brandstof = brandstof;
}

Deze functie wat ik geschrijven heb is de constructor van het object Auto samen met de eigenschappen van een auto.
De eigenschappen worden in de constructor als parameters doorgegeven. misschien komen de instructies tussen de accolades ( { } ) wat vreemd over dus dat ik ga het uitleggen this is een javascript sleutel woord en wijst naar het huidig object dus Auto.
Met de instructie this.kenteken = kenteken; zeg ik eigenlijk: "ken de waarde van uit kenteken toe aan de waarde van this.kenteken."
Met andere woorden de waarde die je invoert in de constructor bij kenteken wordt op deze manier opgegeslagen in het Auto object. Het daadwerkelijk maken van Objecten doen we zo let vooral op new

Code:
auto1 = new Auto('AA-11-11', 'opel', 'zwart', 'gas');
auto2 = new Auto('AA-11-12', 'fiat', 'blauw', 'benzine');

Nu zijn auto1 en auto2 object variabelen, wil je nu bijvoorbeeld het
kenteken zien van auto1 dan gebruik je

Code:
alert(auto1.kenteken);

ik maak nu een voorbeeld met een actie van een auto.
We nemen de zelfde code en voegen wat toe zie onderstaande code

Code:
function Auto(kenteken, merk, kleur, brandstof){
  this.kenteken = kenteken;
  this.merk = merk;
  this.kleur = kleur;
  this.brandstof = brandstof;
  this.start = function(){
    alert('wroem wroem');
  }
}

Met de instructie this.start = function(){} zeg ik eigenlijk: "maak een function voor het huidig object met de naam start"
Het oproepen van de functie gaat zo we gaan er even van uit dat we nog steeds de twee auto objecten genaamd auto1 en auto2 hebben

Code:
auto1.start();

(Dit bericht is het laatst bewerkt op 21-09-2007 om 21:58:47 door Neophyte.)
21-09-2007 21:54:22
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Matthijn Offline
Schnabbel
*****

Berichten: 4.956
Lid sinds: 04-2006
Reputatie: 47
Bericht: #2
RE: [JavaScript] Object-Oriented Programmeren (OOP) met Javascript
Mooie tut, en in ieder geval vrij simpel te volgen als je in een andere taal al eens met OOP bezig bent geweest :)

[Afbeelding: signature.php]
22-09-2007 08:59:00
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Cuve Afwezig
Netlog Web Developer
*****

Berichten: 5.377
Lid sinds: 04-2006
Reputatie: 151
Bericht: #3
RE: [JavaScript] Object-Oriented Programmeren (OOP) met Javascript
Matthijn schreef:Mooie tut, en in ieder geval vrij simpel te volgen als je in een andere taal al eens met OOP bezig bent geweest :)
²

Enkel jammer dat je spelling wat minder is :(

22-09-2007 09:12:52
De website van deze gebruiker bezoeken Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Neophyte Offline
Senior Member
****

Berichten: 672
Lid sinds: 08-2006
Reputatie: 35
Bericht: #4
RE: [JavaScript] Object-Oriented Programmeren (OOP) met Javascript
@Cuve ja dat kan kloppen, heb de tut een beetje te snel in elkaar gezet zonder echt te letten op taal gebruik. Als ik meer tijd heb zal ik de fouten er wel uit halen

22-09-2007 14:52:24
Alle berichten van deze gebruiker zoeken Reageren op dit bericht
Reactie plaatsen 


Ga naar locatie:


Contact opnemen | Ep2 | Naar boven | Naar inhoud | Archiefmodus | RSS-syndicatie