|
@@ -6,7 +6,7 @@
|
6
|
6
|
![main2.png](images/main2.png)
|
7
|
7
|
![main3.png](images/main3.png)
|
8
|
8
|
|
9
|
|
-[Versión 2016-05-02]
|
|
9
|
+[Verano 2016 - Ive]
|
10
|
10
|
|
11
|
11
|
La *programación orientada a objetos* (object oriented programming, OOP) es un paradigma de programación que promueve el diseño de programas en el que distintos objetos interactúan entre sí para resolver un problema. C++ es uno de los lenguajes de programación que promueve la programación orientada a objetos, permitiendo que los programadores creen sus propias clases desde cero o derivadas de otras clases existentes. Algunos otros lenguajes que promueven OOP son Java, Python, javascript y PHP.
|
12
|
12
|
|
|
@@ -17,9 +17,9 @@ Cuando la clase de objetos que necesitamos utilizar en nuestro programa no ha si
|
17
|
17
|
|
18
|
18
|
## Objetivos:
|
19
|
19
|
|
20
|
|
-1. Diseñar y definir una clase.
|
|
20
|
+1. Practicar la declaración e implementación de clases en C++.
|
21
|
21
|
|
22
|
|
-2. Implementar métodos de una clase.
|
|
22
|
+2. Implementar métodos en una clase.
|
23
|
23
|
|
24
|
24
|
|
25
|
25
|
## Pre-Lab:
|
|
@@ -32,6 +32,8 @@ Antes de llegar al laboratorio debes haber:
|
32
|
32
|
|
33
|
33
|
3. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
|
34
|
34
|
|
|
35
|
+4. Tomado el quiz Pre-Lab disponible en Moodle.
|
|
36
|
+
|
35
|
37
|
|
36
|
38
|
|
37
|
39
|
---
|
|
@@ -118,19 +120,20 @@ Tu tarea durante la sesión de laboratorio será el definir la clase `BBPlayer`
|
118
|
120
|
El esqueleto del programa también incluye la función `test_BBPlayer` que hace pruebas unitarias a cada una de las funciones del programa. Las pruebas están comentadas y, según vayas definiendo las funciones, debes irlas descomentando, probando y modificando la función hasta que pase la prueba. Una vez todas las funciones estén listas y hayan pasado las pruebas, probarás el programa completo removiendo los comentarios que sean necesarios en el código de la función `main`.
|
119
|
121
|
|
120
|
122
|
|
121
|
|
-### Ejercicio 0: Bajar y entender el código provisto
|
|
123
|
+### Ejercicio 1 - Bajar y entender el código provisto
|
122
|
124
|
|
123
|
|
-#### Instrucciones
|
|
125
|
+#### Instrucciones:
|
124
|
126
|
|
125
|
|
-1. Descarga la carpeta `classes-basket` de `Bitbucket` usando un terminal, moviéndote al directorio `Documents/eip`, y escribiendo el comando `git clone http://bitbucket.org/eip-uprrp/classes-basket`.
|
|
127
|
+1. Carga a `QtCreator` el proyecto `basket01`. Hay dos maneras de hacer esto:
|
126
|
128
|
|
127
|
|
-2. Carga a Qt creator el proyecto `basket01` haciendo doble "click" en el archivo `basket01.pro` que se encuentra en la carpeta `Documents/eip/classes-basket` de tu computadora.
|
|
129
|
+ * Utilizando la máquina virtual: Haz doble “click” en el archivo `basket01.pro` que se encuentra en el directorio `/home/eip/labs/classes-basker01` de la máquina virtual.
|
|
130
|
+ * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/classes-basker01` para descargar la carpeta `classes-basker01` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `basket01.pro`.
|
128
|
131
|
|
129
|
|
-3. El ejecutable correrá en el terminal y debes seleccionar esa opción desde la ventana de "Projects". Para acceder a esta ventana, seleccionas "Projects" en el menú vertical de la izquierda. Luego en `Build & Run` seleccionas `Run` y luego marcas la caja que dice `Run in terminal`.
|
|
132
|
+2. El ejecutable correrá en el terminal y debes seleccionar esa opción desde la ventana de "Projects". Para acceder a esta ventana, seleccionas "Projects" en el menú vertical de la izquierda. Luego en `Build & Run` seleccionas `Run` y luego marcas la caja que dice `Run in terminal`.
|
130
|
133
|
|
131
|
|
-4. Estudia el código en el archivo `main.cpp`, incluyendo el código que está comentado.
|
|
134
|
+3. Estudia el código en el archivo `main.cpp`, incluyendo el código que está comentado.
|
132
|
135
|
|
133
|
|
-### Ejercicio 1: Definir la clase `BBPlayer`
|
|
136
|
+### Ejercicio 2 - Definir la clase `BBPlayer`
|
134
|
137
|
|
135
|
138
|
1. Define la clase `BBPlayer` con las especificaciones que se proveen en la sección **La clase BBPlayer**. Para cada uno de los métodos que se especifican en esa sección:
|
136
|
139
|
|
|
@@ -142,34 +145,32 @@ El esqueleto del programa también incluye la función `test_BBPlayer` que hace
|
142
|
145
|
|
143
|
146
|
d. Corre el programa y verifica que haya pasado las pruebas. Debes obtener una ventana similar a la de la Figura 1, i.e. debe contener el mensaje `All unit tests passed!!!` . Si no pasa las pruebas, revisa tu código. Repite hasta que tu código haya pasado todas las pruebas.
|
144
|
147
|
|
145
|
|
----
|
|
148
|
+ ---
|
146
|
149
|
|
147
|
|
-![figure1.png](images/figure1.png)
|
|
150
|
+ ![figure1.png](images/figure1.png)
|
148
|
151
|
|
149
|
|
-**Figura 1.** Ejemplo de la pantalla que debes obtener si el código pasa las pruebas unitarias.
|
|
152
|
+ **Figura 1.** Ejemplo de la pantalla que debes obtener si el código pasa las pruebas unitarias.
|
150
|
153
|
|
151
|
|
----
|
|
154
|
+ ---
|
152
|
155
|
|
153
|
156
|
2. Una vez tengas todas los métodos definidos y probados, descomenta el código de la función `main` para probar el programa completo. Si el programa funciona correctamente, debes obtener una ventana que comienza de manera similar a la Figura 2 y termina como en la Figura 3.
|
154
|
157
|
|
|
158
|
+ ---
|
155
|
159
|
|
156
|
|
----
|
157
|
|
-
|
158
|
|
-![figure2.png](images/figure2.png)
|
159
|
|
-
|
160
|
|
-**Figura 2.** Ejemplo del comienzo de la pantalla que debes obtener si el programa funciona correctamente.
|
|
160
|
+ ![figure2.png](images/figure2.png)
|
161
|
161
|
|
162
|
|
----
|
|
162
|
+ **Figura 2.** Ejemplo del comienzo de la pantalla que debes obtener si el programa funciona correctamente.
|
163
|
163
|
|
|
164
|
+ ---
|
164
|
165
|
|
165
|
|
-![figure3.png](images/figure3.png)
|
|
166
|
+ ![figure3.png](images/figure3.png)
|
166
|
167
|
|
167
|
|
-**Figura 3.** Ejemplo de la pantalla que debes obtener al final del programa si éste funciona correctamente.
|
|
168
|
+ **Figura 3.** Ejemplo de la pantalla que debes obtener al final del programa si éste funciona correctamente.
|
168
|
169
|
|
169
|
170
|
|
170
|
|
----
|
|
171
|
+ ---
|
171
|
172
|
|
172
|
|
-**IMPORTANTE:** NO debes hacer ningún cambio en las funciones `main` y `test_BBPlayer`, aparte de quitar los comentarios.
|
|
173
|
+ **IMPORTANTE:** NO debes hacer ningún cambio en las funciones `main` y `test_BBPlayer`, aparte de quitar los comentarios.
|
173
|
174
|
|
174
|
175
|
---
|
175
|
176
|
|