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);
}
}

One Response to “Nivell Avançat: Classes”

  1. oscar Says:

    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/

Leave a Reply

You must be logged in to post a comment.