|
|
|
|
4
|
![](images/headerBirds.png)
|
4
|
![](images/headerBirds.png)
|
5
|
|
5
|
|
6
|
|
6
|
|
7
|
-[Verano 2016 - Ive]
|
|
|
|
|
7
|
+[Verano 2016 - Ive - Tatiana]
|
8
|
|
8
|
|
9
|
Hasta ahora hemos visto cómo utilizar variables para guardar y manipular datos de cierto tipo y cómo estructurar nuestros programas dividiendo las tareas en funciones. Un *objeto* es una entidad que se utiliza en muchos lenguajes de programación para integrar los datos y el código que opera en ellos, haciendo más fácil el modificar programas grandes. En la experiencia de laboratorio de hoy utilizarás una clase llamada `Bird` para practicar algunas de las destrezas básicas en C++ para la creación y manejo de objetos.
|
9
|
Hasta ahora hemos visto cómo utilizar variables para guardar y manipular datos de cierto tipo y cómo estructurar nuestros programas dividiendo las tareas en funciones. Un *objeto* es una entidad que se utiliza en muchos lenguajes de programación para integrar los datos y el código que opera en ellos, haciendo más fácil el modificar programas grandes. En la experiencia de laboratorio de hoy utilizarás una clase llamada `Bird` para practicar algunas de las destrezas básicas en C++ para la creación y manejo de objetos.
|
10
|
|
10
|
|
|
|
|
|
21
|
|
21
|
|
22
|
1. Repasado los siguientes conceptos:
|
22
|
1. Repasado los siguientes conceptos:
|
23
|
|
23
|
|
24
|
- a. creación de objetos de una clase.
|
|
|
|
|
24
|
+ a. La creación de objetos de una clase.
|
25
|
|
25
|
|
26
|
- b. utilización de métodos "getters" para acceder a los atributos de un objeto.
|
|
|
|
|
26
|
+ b. La utilización de métodos "getters" para acceder a los atributos de un objeto.
|
27
|
|
27
|
|
28
|
- c. utilización de métodos "setters" para modificar los atributos de un objeto.
|
|
|
|
|
28
|
+ c. La utilización de métodos "setters" para modificar los atributos de un objeto.
|
29
|
|
29
|
|
30
|
2. Estudiado la documentación de la clase `Bird` disponible dentro de la documentación del proyecto (`objects-birds/doc/es/html/class_bird.html`).
|
30
|
2. Estudiado la documentación de la clase `Bird` disponible dentro de la documentación del proyecto (`objects-birds/doc/es/html/class_bird.html`).
|
31
|
|
31
|
|
32
|
3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
32
|
3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
33
|
|
33
|
|
34
|
-4. Tomado el quiz Pre-Lab disponible en Moodle.
|
|
|
|
|
34
|
+4. Tomado el quiz Pre-Lab, disponible en Moodle.
|
35
|
|
35
|
|
36
|
|
36
|
|
37
|
|
37
|
|
|
|
|
|
276
|
|
276
|
|
277
|
## Sesión de laboratorio:
|
277
|
## Sesión de laboratorio:
|
278
|
|
278
|
|
279
|
-En la experiencia de laboratorio de hoy utilizarás la clase `Bird` para practicar la creación de objetos, acceder y cambiar sus atributos.
|
|
|
|
|
279
|
+En la experiencia de laboratorio de hoy, utilizarás la clase `Bird` para practicar la creación de objetos, acceder y cambiar sus atributos.
|
280
|
|
280
|
|
281
|
|
281
|
|
282
|
### Ejercicio 1 - Estudiar la clase `Bird`
|
282
|
### Ejercicio 1 - Estudiar la clase `Bird`
|
|
|
|
|
288
|
1. Carga a `QtCreator` el proyecto `Birds`. Hay dos maneras de hacer esto:
|
288
|
1. Carga a `QtCreator` el proyecto `Birds`. Hay dos maneras de hacer esto:
|
289
|
|
289
|
|
290
|
* 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.
|
290
|
* 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.
|
291
|
- * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `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`.
|
|
|
|
|
291
|
+ * 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`.
|
292
|
|
292
|
|
293
|
2. Estudia la clase `Bird` contenida en el archivo `bird.h`. Identifica los métodos que son constructores, "setters" y "getters".
|
293
|
2. Estudia la clase `Bird` contenida en el archivo `bird.h`. Identifica los métodos que son constructores, "setters" y "getters".
|
294
|
|
294
|
|
|
|
|
|
316
|
|
316
|
|
317
|
2. Corre varias veces el programa y maravíllate al ver a `abelardo` tener tamaños, colores y cejas distintas.
|
317
|
2. Corre varias veces el programa y maravíllate al ver a `abelardo` tener tamaños, colores y cejas distintas.
|
318
|
|
318
|
|
319
|
-3. Utiliza los "setters" `setSize(int size)`, `setFaceColor(Qstring color)`, `setEyeColor(Qstring color)`, y `setEyebrow(EyeBrowType)` para que `abelardo` luzca como en la Figura 2 (su size es 200).
|
|
|
|
|
319
|
+3. Utiliza los "setters" `setSize(int size)`, `setFaceColor(Qstring color)`, `setEyeColor(Qstring color)`, y `setEyebrow(EyeBrowType)` para que `abelardo` luzca como en la Figura 2 (su tamaño es 200).
|
320
|
|
320
|
|
321
|
---
|
321
|
---
|
322
|
|
322
|
|
|
|
|
|
336
|
|
336
|
|
337
|
---
|
337
|
---
|
338
|
|
338
|
|
339
|
-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.
|
|
|
|
|
339
|
+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.
|
340
|
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.
|
340
|
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.
|
341
|
|
341
|
|
342
|
---
|
342
|
---
|
|
|
|
|
356
|
|
356
|
|
357
|
##Entregas
|
357
|
##Entregas
|
358
|
|
358
|
|
359
|
-Utiliza "Entrega" en Moodle para entregar el archivo `main.cpp` que contiene las invocaciones y cambios que hiciste al programa. Recuerda utilizar buenas prácticas de programación, incluir el nombre de los programadores y documentar tu programa.
|
|
|
|
|
359
|
+Utiliza "Entrega" en Moodle para entregar el archivo `main.cpp` que contiene las invocaciones y cambios que hiciste al programa. Recuerda utilizar buenas prácticas de programación, incluye el nombre de los programadores y documenta tu programa.
|
360
|
|
360
|
|
361
|
|
361
|
|
362
|
|
362
|
|
|
|
|
|
368
|
|
368
|
|
369
|
|
369
|
|
370
|
https://sites.google.com/a/wellesley.edu/wellesley-cs118-spring13/lectures-labs/lab-2
|
370
|
https://sites.google.com/a/wellesley.edu/wellesley-cs118-spring13/lectures-labs/lab-2
|
|
|
371
|
+
|
|
|
372
|
+
|
|
|
373
|
+
|