Objectgeoriënteerd programmeren

3. Objectgeoriënteerd programmeren#

Deze week hebben we een fysieke les, waarin we eerst wat tijd besteden aan kennis maken met elkaar. Daarna gaan we beginnen met objectgeoriënteerd programmeren, op basis van de creatie die je vorige week gemaakt hebt. Daarna is er tijd om met je eigen project aan de slag te gaan en daarover te sparren met klasgenoten. Aan het eind van de week kun je programma opdelen in verschillende classes en de basis daarvan programmeren in Processing.

3.1. Tijdens de les#

  • Kennismaken met elkaar

  • Introductie objectgeoriënteerd programmeren: de dierentuin

  • Aan de slag met je project

3.2. Online materiaal#

Aanbevolen:

  • Processing tutorials, door Daniel Shiffman

    Video’s op YouTube // ongeveer 1:07 uur // Engels // Engelse ondertitels, vertaling mogelijk

    • Deel 7 over functies

      7.1 geeft een introductie van objectgeoriënteerd programmeren en functies, met name het doel dat we ermee willen bereiken. 7.2 t/m 7.4 gaan over functies en de principes daar komen je wellicht nog bekend voor uit Python, maar het ziet er in Processing natuurlijk wel anders uit. In 7.2 zie je precies hoe dat werkt in Processing. 7.3 en 7.4 gaan meer over de organisatie van code in functies en hoe je ervoor zorgt dat je een functie kan hergebruiken.

    • Deel 8 (t/m 8.4) over objectgeoriënteerd programmeren

      8.1 is een introductie van objectgeoriënteerd programmeren en legt je het verschil uit tussen een class en een object. 8.2 en 8.3 gaan concreet over de code en de syntax van een class in Processing. 8.4 is vergelijkbaar met 7.4, maar dan voor classes: hoe kun je een class hergebruiken?

Alternatieven:

  • Processing tutorials, ook door Daniel Shiffman

    Tekst // ongeveer 2600 woorden // Engels

    • Objects over objectgeoriënteerd programmeren

  • Processing Examples

    Code voorbeelden // Engelse beschrijving

    • Objects, een programma met een class en vier objecten

3.3. Project#

  1. Maak een schets van jouw project. Wat zijn de belangrijke elementen?

    (Deze schets is niet heilig en je mag in de komende weken alles veranderen, maar het is nuttig om een idee te hebben waar je ongeveer heen wilt.)

  2. Welke objecten zijn er in jouw ontwerp? Welke classes moet je dan in je project definiëren? Heb je meerdere objecten van dezelfde class?

    (Ook hier: je mag in de komende weken nog veel meer classes toevoegen als dat handiger blijkt, het gaat erom dat je op een objectgeoriënteerde manier naar je ontwerp kijkt.)

  3. Start je project in Processing: maak de classes die je bedacht hebt, geef ze een simpele display functie (al is het maar alleen een rechthoek van ongeveer de juiste afmeting) en probeer dingen ongeveer op de juiste plek te zetten.

  4. Begin met het mooier tekenen van de objecten in je project. Gebruik alle vormen en kleuren die je in de vorige weken geleerd hebt.

3.4. Oefeningen#

// TODO
// Deze syllabus is nog in ontwikkeling. Hier komen binnenkort nog oefeningen te 
// staan. Tot die tijd kun je natuurlijk ook zelf wat doen: je hebt al verscheidene
// programma's geschreven die je kunt aanpassen! Maak bijvoorbeeld een class voor 
// je creatie van vorige week en gebruik die class om dezelfde oefeningen te doen.
// Wordt je code daar simpeler van? Dat kun je dan ook nog met het bloemetje uit
// week 1 proberen!