het geconstrueerde  "Vierkant"

het geconstrueerde "Vierkant"

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

de display methode van de "Vierkant" class is uitegeschakeld

de display methode van de "Vierkant" class
is uitgeschakeld (regel 16 t/m 21)
Nu wordt de "lege" display methode
van de superclass "Vormen" gebruikt

 

 

 

De rectMode(CENTER) (regel 17) is uitgeschakeld

De rectMode(CENTER) (regel 17) is uitgeschakeld

schets met constructor met argumenten in de class "Vierkant"         terug naar de inleiding
 
Zie ook "ster en veelhoekvormen" een toepassing van polymorfism
 
De constructor van de class ,  "Vierkant" heeft nu de argumenten x,y  (is het middelpunt) en de argumenten b (breedte) en h (hoogte)

Het is nu beter om de class naam te veranderen in "Rechthoek"

De constructors van de class "Cirkel" en de superclass "Vormen" zijn nog leeg.

 
De schets
 
 

// De constructor van de class "Vierkant: heeft de argumenten x, y,  b en h. 
//1) Declareren van de objecten van het type Vormen  
 
Vormen vormen1;  
Vormen vormen2; 
Ruitjes ruitjespap; 
 
//Declareren van de objecten van het type Cirkel en Vierkant mag ook 
//men spreekt van inheritance  
//want de objecten erven eigenschappen van de superclass "Vormen" 
 
//Cirkel vormen1; 
//Vierkant vormen2; 
 
void setup() {   
 size(480, 270);   
 float y = height/2; 
 float x = width/2; 
 float n = width/5; 
  
//2) construeren van de objecten  
 ruitjespap = new Ruitjes(n,x,y); 
 vormen1 = new Cirkel();   
 vormen2 = new Vierkant(x, y, n*2, n);  
}   
 
//3) tekenen van de objecten  
void draw() {   
 background(255);  
 ruitjespap.display(); 
 vormen1.display();   
 vormen2.display();  
}
 
De super- of parent class
 
 

class Vormen { 
   
Vormen() {     // de lege constructor 
   
 } 
  
   void display() {  
 //Dit is de lege display methode die wordt overreden in de "Cirkel" en "Vierkant" subclassen 
 //ivm overriding moeten alle methodes van de subclasses ook in de superclass staan  
 }  
}
 
 De subclass Vierkant nu met een constructor met de argumenten x, y, b, en h
 
 


class Vierkant extends Vormen { 
   
//de constructor variabelen moeten global worden gedeclareerd  
//dit omdat ze in de methode display() worden gebruikt 
 
  float x; float y; 
  float b; float h; 
   
Vierkant(float x_, float y_, float b_, float h_) { // de lege constructor 
//De locale variabelen x_, y_, b_, en h_, krijgen hun waarden van de constructor van de schets 
  x = x_; y = y_; //De locale constructor variabelen copieeren naar globale variabelen 
  b = b_; h = h_; 
 } 
  
 void display() {   
  rectMode(CENTER);   
  fill(175);   
  stroke(0);   
  rect(x, y, b, h);  
 }  
} 

de subclass  "Cirkel"

 


class Cirkel extends Vormen { 
   
Cirkel() {  // de lege constructor 
 } 
  
void display() {   
 ellipseMode(CENTER);   
 stroke(0);   
 ellipse(width/4, height/4, 40, 40);  
 }  
}