header

Structuur van een sketch in object georienteerd programmeren (OOP)        terug naar de inleiding

 

 
//1) declareren van objecten en variabelen 
Classnaam1 object1; // namen van classes beginnen met een hoofdletter 
Classnaam1 object2; // namen van objecten beginnen met een kleine letter 
Classnaam2 object3; // Classnaam2 als je nog een tweede classe hebt aangemaakt. 

 
//Van een classe kan je een oneindig aantal objecten aanmaken.  
//Je kan de objecten een positie geven met een array en geneste for lussen. 

 
//2) setup waarin objecten, en variabelen een beginwaarde (initialiseren) krijgen. 
void setup() { 
size(x,y); 

 
object1 = new Classnaam1(x,y, b,h, color(r,g,b));  
object2 = new Classnaam1(x,y, b,h, color(r,g,b)); 
object3 = new Classnaam2(x,y, b,h, color(r,g,b)); 
} 
 // (x,y, b,h, color(r,g,b); zijn de argumenten van de constructor 

//3) de objecten tekenen 
void draw() { 
background(r,g,b); //staat voor speciale effecten in setup  
object1.ellips(); //namen van methoden beginnen met een kleine letter 
object2.ellips(); 
object3.methode2();
}

structuur van een classe

 

//1) Classnaam
class Classnaam1 {                     //Classnaam begint altijd met een hoofdletter
 
//2) declareren van de globale variabelen 
 float x; 
 float y; 
 float b; 
 float h; 
 color c;
 
//3) aanmaken van de constructor met de argumenten (argumenten zijn locale variabelen) 
 Classnaam1(float x_, float y_, float b_, float h_, color c_) { 
 x = x_;  
 y = y_;              // de constructor heeft dezelfde naam als de class 
 b = b_;             // de locale variabelen, van de constructor global maken 
 h = h_; 
 c = c_;  
 }
 
//4) methodes aanmaken 
 void ellips() {                   // methodes beginnen met een kleine letter 
 fill(c);  
 ellipse(x, y, b, h); 
 }
 
void rechthoek() { 
 rectMode(CENTER); 
 fill(c); 
 rect(x, y, b, h); 
 } 
}                                        //hiermee sluit je de class af.
Opmerkingen:
Zie de sketch
de rechthoek methode van deze class wordt niet gebruikt, dit geeft geen foutmelding.
De class met classnaam2 is nog niet aangemaakt.
Dus object3.methode2() bestaat niet, dit geeft wel een foutmelding.
 

De variabelen worden als float gedeclareerd
(x,y) waarden van pixels zijn integers. Dus je mag ook integers gebruiken.
Je hebt dan wel een probleem als je in een sketch deel door bijv 3.1
Processing zet zelf de float om naar integer (processing is speciaal gemaakt voor kunstenaars!!!)

Je kan in bovenstaande classe natuurlijk ook de bewegingsmethodes plaatsen.

Als je meerdere classes hebt met bijv vorm methodes ,die allemaal moeten bewegen,
kan je beter een superclasse, met bewegingsmethodes aanmaken waar de classes
(worden dan sub of child classes genoemd) gebruik van maken. Men noemt dit overerving.