Yikes, OO 101 ....
Een class is een soort 'blue print', een soort bouwvoorschrift voor een object. Een object is een verzameling van methodes, functies en properties, met daarachter een geprogrammeerd gedrag.
Nu zal je waarschijnlijk denken: "WTF moet ik daar nou weer mee???" Goeie vraag. Dat is nou Object Oriented programming.
Neem als voorbeeld een auto. Als je een auto wil rijden, dan wil je weten hoe je die moet bedienen. Je hebt dingen als een stuur, een gaspedaal, rempedaal en ga zo maar door, en die gebruik je, maar wat daarachter gebeurt weet je niet. Je weet wel wat het te verwachten gedrag is voor bijvoorbeeld het draaien van het stuur. Daarnaast heb je ook nog wat metertjes war je gegevens van kan aflezen, zoals je brandstofpeil.
Okay, je auto is dus een object. De meters zijn properties, het stuur, de pedalen, etc zijn methods en functions. Het ontwerp dat gebruikt is om je auto te bouwen is dan de class. En zo kan je de vergelijking redelijk doortrekken is software.
Waarom zou je nou een class maken? Waarom zou je een class gebruiken? Allebei weer goeie vragen!
Een class maken is erg handig als je
1) je code wil gaan hergebruiken
2) je heeft modulair wil gaan programmeren
3) je met andere mensen samenwerkt die jouw code wel moeten gebruiken maar niet precies moeten weten hoe het gebeurt maar alleen dat je code een bepaalde functionaliteit biedt
Een class gebruiken is erg handig als je een class hebt die precies doet wat jij wil, zodat je lekker lui kan zijn en je niet hoeft af te vragen hoe dat precies gebeurt.
Nou wil je zeker ook een goed voorbeeld hebben? Nou ja, een conceptueel voorbeeld dan.
Stel, jij maakt veel websites waarbij gebruikers moeten inloggen. Je hebt een mooi stuk code dat je al in 6 maanden niet meer hebt aangepast, en je cut&paste het de hele tijd als je een nieuw systeem begint. Maar omdat je werk echt druk wordt, moeten er nieuwe mensen aangenomen worden die jou komen helpen. Jij wil dat ze jouw code gaan gebruiken, want het wile hoeft niet twee keer uitgevonden te worden. Dus maak jij een mooie class van je code, legt je nieuwe collega's uit hoe ze de properties, functions en methods van de class kunnnen gebruiken zonder dat ze zich zorgen hoeven te maken over HOE de code werkt. Jij blij, zij blij, je baas blij, vette bonus, dikke winst.
Mooi he? En wat is dus jouw excuus om geen classes te gebruiken?