5. Structuur in een Processing sketch#
Je hebt inmiddels al wat ervaring met het opdelen van een programma in verschillende objecten, maar we kunnen nog wel wat meer structuur aanbrengen, bijvoorbeeld door objecten in objecten te zetten of een object verder uit te splitsen. Als je meer objecten in je programma hebt, kan het ook lastiger worden om die objecten netjes met elkaar te laten reageren, bijvoorbeeld als je wilt dat twee ballen tegen elkaar aan botsen. Daar gaan we dus ook naar kijken. Het online materiaal hierover gaat er niet heel diep op in, dus in de les besteden we er ook aandacht aan.
Het komt ook vaak voor dat je heel veel objecten van dezelfde class in je programma wilt gebruiken. In dat geval is een lijst of array het aangewezen middel. Hierover kun je online wel een heleboel vinden.
Aan het eind van deze week kun je je programma dus nog beter structureren, maar er ook voor zorgen dat de verder opgesplitste onderdelen nog wel op elkaar kunnen reageren.
5.1. Tijdens de les#
Objecten in objecten, volgens de principes van objectgeoriënteerd programmeren
Interactie en communicatie tussen objecten
5.2. Online materiaal#
Aanbevolen:
Processing tutorials, door Daniel Shiffman
Video’s op YouTube // ongeveer 1:05 uur // Engels // Engelse ondertitels, vertaling mogelijk
Deel 8 (vanaf 8.5) over objecten in objecten en over interactie tussen objecten
Deel 9 over lijsten
Alternatieven:
Processing tutorials, door Casey Reas en Ben Fry
Tekst // ongeveer 3400 woorden // Engels
Arrays (t/m Array of Objects) over lijsten
Processing Examples
Code voorbeelden // Engelse beschrijving
Composite Objects over objecten in objecten
Bouncy Bubbels over interactie tussen objecten
Array Objects over een lijsten met objecten
5.3. Project#
Bekijk de structuur van je project. Zijn er classes die beter binnen een andere class zouden passen? Zijn er grote classes die je misschien kunt opsplitsen in een aantal kleinere classes? Vanaf nu is het een goed idee om jezelf deze vragen elke week te stellen! En als je deze vragen hebt beantwoord, is het natuurlijk tijd om de structuur van je project te verbeteren!
Welke interactie zou je tussen objecten willen hebben? Zijn er bijvoorbeeld objecten die tegen elkaar aan kunnen botsen? Of een bliksemflits die een boom in brand zet? Maak een lijstje van interacties die je toe kunt voegen, en begin die te programmeren in je project.
5.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! Voeg bijvoorbeel een interactie toe
// tussen je creaties, of splits je creatie verder uit in kleiner classes.