|
|
|
|
284
|
1. Carga a `QtCreator` el proyecto `Birds`. Hay dos maneras de hacer esto:
|
284
|
1. Carga a `QtCreator` el proyecto `Birds`. Hay dos maneras de hacer esto:
|
285
|
|
285
|
|
286
|
* Utilizando la máquina virtual: Haz doble “click” en el archivo `Birds.pro` que se encuentra en el directorio `/home/eip/labs/objects-birds` de la máquina virtual.
|
286
|
* Utilizando la máquina virtual: Haz doble “click” en el archivo `Birds.pro` que se encuentra en el directorio `/home/eip/labs/objects-birds` de la máquina virtual.
|
287
|
- * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http:/bitbucket.org/eip-uprrp/objects-birds` para descargar la carpeta `objects-birds` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `Birds.pro`.
|
|
|
|
|
287
|
+ * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el comando `git clone http://bitbucket.org/eip-uprrp/objects-birds` para descargar la carpeta `objects-birds` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `Birds.pro`.
|
288
|
|
288
|
|
289
|
-2. Estudia la clase `Bird` contenida en el archivo `bird.h`. Identifica los métodos que son constructores, "setters" y "getters".
|
|
|
|
|
289
|
+2. Estudia la clase `Bird` contenida en el archivo `bird.h`. Identifica los métodos que son constructores, "setters" y "getters".
|
|
|
290
|
+
|
|
|
291
|
+1. Observa que en la clase se define un nuevo tipo llamado EyeBrowType cuyos valores pueden ser `UNI`, `ANGRY`, `UPSET` y `BUSHY`. La función miembro `setEyebrow` recibe como parámetro un valor de tipo EyeBrowType. Si por ejemplo creas un objeto `buho` de clase Bird y quieres cambiarle el tipo de cejas a `BUSHY` debes hacerlo así:
|
|
|
292
|
+
|
|
|
293
|
+ ```cpp
|
|
|
294
|
+ buho.setEyebrow(Bird::BUSHY);
|
|
|
295
|
+ ```
|
290
|
|
296
|
|
291
|
3. En el archivo `main.cpp` (en Sources) la función `main` hace lo siguiente:
|
297
|
3. En el archivo `main.cpp` (en Sources) la función `main` hace lo siguiente:
|
292
|
|
298
|
|
|
|
|
|
304
|
|
310
|
|
305
|
### Ejercicio 2 - Crear objetos de clase `Bird` con ciertos atributos
|
311
|
### Ejercicio 2 - Crear objetos de clase `Bird` con ciertos atributos
|
306
|
|
312
|
|
307
|
-En este ejercicio crearás objetos de clase `Bird` usando el constructor por defecto y usando constructores donde defines características específicas para el objeto. También practicarás el uso de "getters" y "setters" para obtener y asignar atributos a los objetos.
|
|
|
|
|
313
|
+En este ejercicio crearás objetos de clase `Bird` usando los constructores. También practicarás el uso de "getters" y "setters" para obtener y asignar atributos a los objetos.
|
308
|
|
314
|
|
309
|
#### Instrucciones
|
315
|
#### Instrucciones
|
310
|
|
316
|
|
311
|
-1. Ahora crea un objeto de clase `Bird` llamado `abelardo` usando el constructor default y añádelo a la ventana `w` usando el método `addBird(int x, int y, Bird b)`. Recuerda que la invocación del método debe comenzar con el nombre del objeto `w` y un punto.
|
|
|
|
|
317
|
+1. Crea un objeto de clase `Bird` llamado `abelardo` usando el constructor default. Añade a `abelardo` a la ventana `w` usando el método `addBird(int x, int y, Bird b)`. Recuerda que la invocación del método debe comenzar con el nombre del objeto `w` y un punto.
|
|
|
318
|
+
|
|
|
319
|
+ ```cpp
|
|
|
320
|
+ w.addBird(0,0,abelardo);
|
|
|
321
|
+ ```
|
312
|
|
322
|
|
313
|
2. Corre varias veces el programa y maravíllate al ver a `abelardo` tener tamaños, colores y cejas distintas.
|
323
|
2. Corre varias veces el programa y maravíllate al ver a `abelardo` tener tamaños, colores y cejas distintas.
|
314
|
|
324
|
|
|
|
|
|
333
|
---
|
343
|
---
|
334
|
|
344
|
|
335
|
5. Crea otros dos objetos llamados `juana` y `alondra` que salgan dibujados en las coordenadas (100, 300) y (300, 300) respectivamente. Crea a `juana` usando el constructor por defecto para que sus propiedades sean asignadas de forma aleatoria.
|
345
|
5. Crea otros dos objetos llamados `juana` y `alondra` que salgan dibujados en las coordenadas (100, 300) y (300, 300) respectivamente. Crea a `juana` usando el constructor por defecto para que sus propiedades sean asignadas de forma aleatoria.
|
336
|
-Luego crea a `alondra` usando el otro constructor (el que recibe argumentos) para que puedas especificar sus propiedades durante su creación. `alondra` debe ser igual de grande que `juana`, tener el mismo tipo de cejas, y el mismo color de ojos. Su cara debe ser blanca. Añade a `alondra` y a `juana` a la misma ventana de `abelardo` y `piolin`. La ventana debe ser similar a la de la Figura 4.
|
|
|
|
|
346
|
+
|
|
|
347
|
+ Luego crea a `alondra` usando el otro constructor (el que recibe argumentos) para que puedas especificar sus propiedades durante su creación. `alondra` debe ser igual de grande que `juana`, tener el mismo tipo de cejas, y el mismo color de ojos. Su cara debe ser blanca. Añade a `alondra` y a `juana` a la misma ventana de `abelardo` y `piolin`. La ventana debe ser similar a la de la Figura 4.
|
337
|
|
348
|
|
338
|
---
|
349
|
---
|
339
|
|
350
|
|