Nivell Avançat: Classes
A petició del Luca, un parell d’exemples del treball amb classes. No el recomano, de moment, pels que tot just us inicieu en la programació, tot i que és extremadament útil un cop els programes es tornen complexos i, en definitiva, per el que s’anomena programació orientada a objectes (OOP: Object Oriented Programming).
Són dos exemples molt bàsics perquè es vegi l’estructura de les classes:
Exemple 1:
aliveRect recty;
void setup(){
size(200,200);
recty = new aliveRect(width/2,height/2, 30);
}
void draw(){
recty.render();
}
/////////////
class aliveRect{
int x,y, sz;
aliveRect(int _x, int _y, int _sz){
x = _x;
y = _y;
sz = _sz;
}
void render(){
rectMode(CENTER);
rect(x,y,sz,sz);
}
}
———————
———————
——————-
Exemple 2:
redRect recty;
greenEllipse elly;
void setup(){
size(200,200);
recty = new redRect(width/2,height/2, 40);
elly = new greenEllipse(width/2,height/2, 90);
noStroke();
}
void draw(){
background(255);
elly.render();
recty.render();
}
/////////////
class redRect{
int x,y, sz;
color myColor = color(255,0,0);
redRect(int _x, int _y, int _sz){
x = _x;
y = _y;
sz = _sz;
}
void render(){
rectMode(CENTER);
fill(myColor);
rect(x,y,sz,sz);
}
}
class greenEllipse{
int x,y, sz;
color myColor = color(0,255,0);
greenEllipse(int _x, int _y, int _sz){
x = _x;
y = _y;
sz = _sz;
}
void render(){
ellipseMode(CENTER);
fill(myColor);
ellipse(x,y,sz,sz);
}
}
September 20th, 2006 at 5:31 pm
Dos enllaços treballant amb clases:
En el primer es treballa amb una classe Cuadrado on esta l’objecte amb el que variant les seves propietats dona com a resultat diversos quadrats amb diferents posicions, colors, etc.
A partir duna mateixa classe, podem aconseguir doncs, diversos resultats.
http://www.ondho.com/lab/quadres/
En el segon tenim tres classes, i veiem una altra de les caràcterístiques de la OOP, que es la possibilitat de herència.
Amb aquest podem fer servir funcions métodes i propietats que estan en altres classes.
http://www.ondho.com/lab/cercle/