Quan necessitam afegir-hi comportaments, extenem.

Seguim amb el projecte de BouncingBalls. Vos contaré:

“Volia afegir exercicis bàsics que fossin exemples de la filosofia de la programació orientada a objectes. Un exemple que se me va acudir va ser el de generar diferents colors a les bolles que surten. A priori no té rès a veure amb herència ni polimorfisme ni llistes…. però sí, ja veureu

El primer que vaig fer va ser mirar quin sistema de tria de colors empra la BouncingBall quan la construïm i és aquest:

public BouncingBall(int xPos, int yPos, int ballDiameter, 
Color ballColor, int groundPos, Canvas drawingCanvas){
..
}

Em vaig fixar que la construcció agafa un color de la classe Color de la llibreria java.awt, cercant als seus mètodes al javadoc de Color no vaig trobar cap generador de un color aleatori. Per tant la classe no m’oferia cap tipus de possibilitat al meu propòsit.

Desprès vaig consultar als constructors per veure quines possibilitats m’oferien per fer un color aleatori. El constructor que més convenia era:

Color(int r, int g, int b)
Creates an opaque sRGB color with the specified red, green, 
and blue values in the range (0 - 255).".

Tot i així no era una bona cosa que cada vegada que volguès crear un color aleatori es tenguessin que fer:

Random r = new Random();
Color = new Color((r.nextInt(256), r.nextInt(256), r.nextInt(256));

Una altra opció i què és la que vaig triar va ser la de fer una extensió de java.awt.Color, creant la meva pròpia classe dins del projecte per tal d’afegir-hi el mètode randomColor. Així tenim totes les possibilitats del color més una altra i també es podriem afegir més mètodes.

Per tant per fer un color aleatori una bona opció és crear una classe exetssa de Color i afegir-hi un mètode de aleatori. En el meu cas ho he fet damunt el constructor i directament crea una bolla aleatoria.

Exercici:

  • Crea la classe rColor per tal que el constructor crei un color aleatori.
  • A la llista de BallDemo fes que es generin bolles de colors aleatoris. Fes ho damunt el codi que ja s’ha implementat als exercicis anteriors.
http://aula.gimnesia.net/wp-content/uploads/2018/04/randomColor.pnghttp://aula.gimnesia.net/wp-content/uploads/2018/04/randomColor-150x150.pngadmin2on batxilleratQuan necessitam afegir-hi comportaments, extenem. Seguim amb el projecte de BouncingBalls. Vos contaré: 'Volia afegir exercicis bàsics que fossin exemples de la filosofia de la programació orientada a objectes. Un exemple que se me va acudir va ser el de generar diferents colors a les bolles que surten. A priori no...Blog Aula Informàtica Gimnèsia