Stap 4: Vullen van objecten met Arrays
Twee cirkels zijn geweldig. Maar wat als we wilden genereren 200 cirkels allemaal tegelijk? Een manier om te doen zou dit 200 voorwerpen met de hand, en vervolgens beroep te doen op al hun methoden één voor één te initialiseren.
Om ons te redden van al die typen, kunnen we gewoon gebruiken een matrix die 200 objecten kan bevatten. Het voordeel van het gebruik van een matrix is dat wij kunnen een lus "voor gebruiken" naar alle arrayelementen doorlopen, en iets aan elk van hen doen.
De code voor het vullen van 200 cirkels gaat iets als dit:
int numCircle = 200;
Cirkel [] cirkels = nieuwe cirkel [numCircle]; verklaring van de matrix
VOID Setup {}
size(400,400);
Smooth();
initialiseren van 200 cirkels
for (int i = 0; ik < numCircle; i ++) {}
cirkels [i] = nieuwe Circle(random(width),random(height),20,color(130,0,250,60));
}
}
VOID draw() {}
Background(255);
aanroepen van methode van elk object
for (int i = 0; ik < circles.length; i ++) {}
Circles[i].display();
Circles[i].jiggle();
}
}
bovenstaande uitkomst zien.
Hier, in Setup, gebruikten we een for-lus om te gaan met elke cel van de matrix "cirkels" en initialiseren van een object voor elkaar. Later, in draw() herhaald we door elke cirkel object opgeslagen in de matrix "type Circle" en methoden van elk aangeroepen.
Het beste deel is, nu, ongeacht hoeveel cirkels die wij willen, kan het twee of twee miljoen (niettemin, dat zou vertragen uw computer aanzienlijk!), we gewoon moeten tweaken van de variabele "numCircle", en de rest kan blijven hetzelfde.