Tuesday, August 20, 2013

Object Oriented Programming Deel 1

Hi julle.

Okay, ek wil begin met Object Oriented Programming.  Deur die loop van die volgende paar dae gaan ek baie posts hier opsit, oor al die dinge wat julle pla, so kom kyk gereeld, en comment asseblief as julle vrae het!

Soos ek vandag verduidelik het is OOP die alternatief vir Liniêre Programmering of "Procedural Programming".  Met linear programming het ons altyd in een lang stuk kode alles stap vir stap gedoen.  Die grootste verskil tussen OOP en LP lê in die manier hoe ons as programmeerders dink oor die program wat ons skryf.

In LP was die fokus op "Wat wil ek hê moet die program kan doen?"  Dan is daar `n reeks prosedures geskryf met `n klomp IF stellings om die program dit te laat doen.  Baie "code".

Met OOP is die fokus verskuif na "Watse DINGE wil ek in die program hê?"  Dan skryf jy `n "Class" vir elke tipe "ding", waarna jy verskeie "objects" kan skep van elke "class".

Byvoorbeeld.  Kom ons sê ek skryf `n game soos "Need for Speed".  In LP sal ek vreeslik baie code moet gebruik want elke kar sal byvoorbeeld afsonderlik geskep en geprogrammeer moet word, al het elke kar dieselfde basiese funksies (soos om vorentoe, agtertoe, links en regs te beweeg).  So dit beteken baie procedures en code, vir elke enkele kar afsonderlik.  Maar in OOP kan ek `n "class" skep genaamd "kar".  Dan skep ek byvoorbeeld `n Object genaamd "porsche" van tipe "kar".  Ek spesifiseer daarna die object "porsche" se maksimum spoed, en kleur, en vorm, en al die ander veranderlikes, maar die basiese goed wat dieselfde is vir elke kar is reeds in die class "kar" gespesifiseer.  Gevolglik spaar jy baie kode.  Dit maak ook jou troubleshooting baie makliker, want eerder as om deur tonne en tonne code te werk kan jy net kyk na jou class "kar" as dit `n fout is met alle karre (byvoorbeeld hulle draai almal links as hulle moet regs draai), of net kyk na die spesifieke Object as dit `n fout is vat net met die een kar gebeur (byvoorbeeld sy maksimum spoed is 180 in plaas van 220).

Ek hoop dit maak sin.  Vra vrae as julle nie verstaan nie.  Ek sal more meer verduidelik. ;-)

Terloops, hier is `n baie nice videoclip op YouTube wat dit ook nogal goed verduidelik:

http://www.youtube.com/watch?v=G_pglM4qYGA

Right.  Sterkte met julle leerwerk!

Mnr. T.

2 comments:

  1. hey Mr wardeer als wat Mr vir ons gedoen het,Die vid was baie helpvol,kan Mr dalk vir ons se na wat ons miskien spesiaale aandag aan moet gee vir die teorie toets more

    ReplyDelete
    Replies
    1. Hi! Dis `n groot plesier, ek is bly as dit help. Ongelukkig is daar nie veel wat ek kan sê oor die teorie nie. Daar is nie een deel wat belangriker is as `n ander nie, dis als ewe belangrik. Ek kan wel sê netwerke is altyd `n groot deel daarvan. Dit help nie veel nie, ek weet. As daar iets spesifiek in die teorie is waarmee julle vasbrand, vra my gerus.

      Delete