Browse Source

Rafa: added header as local image

Rafael Arce Nazario 8 years ago
parent
commit
3b7c8a6717
5 changed files with 34 additions and 32 deletions
  1. 34
    32
      README.md
  2. BIN
      images/fourBirds.png
  3. BIN
      images/headerBirds.png
  4. BIN
      images/qobject.png
  5. BIN
      images/unibrow.png

+ 34
- 32
README.md View File

@@ -2,13 +2,15 @@
2 2
 
3 3
 #Utilizando objetos en C++ - Pájaros
4 4
 
5
-<div align='center'><img src="http://i.imgur.com/9D8D7wH.png" width="215" height="174">  <img src="http://i.imgur.com/2zwymir.png?1" width="215" height="174">  <img src="http://demo05.cloudimage.io/s/resize/300/i.imgur.com/A5UVBHd.png" width="215" height="174"></div>
5
+
6
+
7
+![](images/headerBirds.png)
6 8
 
7 9
 <p> </p>
8 10
 
9 11
 [version 2016.02.09]
10 12
 
11
-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. 
13
+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.
12 14
 
13 15
 ##Objetivos:
14 16
 
@@ -54,7 +56,7 @@ Dale un vistazo a la documentación de la clase `Bird` que se encuentra dentro d
54 56
 
55 57
 ###Clases
56 58
 
57
-Una clase es una plantilla para la creación de objetos que establece sus atributos y su comportamiento. Si no se especifica lo contrario, los atributos y métodos definidos en una clase serán "privados". Esto quiere decir que esas variables solo se pueden acceder y cambiar por los métodos de la clase (*constructores*, *"setters"* y *"getters"*, entre otros). 
59
+Una clase es una plantilla para la creación de objetos que establece sus atributos y su comportamiento. Si no se especifica lo contrario, los atributos y métodos definidos en una clase serán "privados". Esto quiere decir que esas variables solo se pueden acceder y cambiar por los métodos de la clase (*constructores*, *"setters"* y *"getters"*, entre otros).
58 60
 
59 61
 Lo siguiente es el esqueleto de la declaración de una clase:
60 62
 
@@ -66,16 +68,16 @@ Lo siguiente es el esqueleto de la declaración de una clase:
66 68
     // Declaraciones
67 69
 
68 70
     private:
69
-      // Declaraciones de variables o atributos y 
70
-      // prototipos de métodos 
71
+      // Declaraciones de variables o atributos y
72
+      // prototipos de métodos
71 73
       // que sean privados para esta clase
72 74
 
73 75
       tipo varPrivada;
74 76
       tipo nombreMetodoPrivado(tipo de los parámetros);
75 77
 
76 78
     public:
77
-      // Declaraciones de atributos y 
78
-      // prototipos de métodos 
79
+      // Declaraciones de atributos y
80
+      // prototipos de métodos
79 81
       // que sean públicos para todo el programa
80 82
 
81 83
       tipo varPública;
@@ -96,7 +98,7 @@ La creación de los objetos la hacen unas funciones llamadas `constructores` que
96 98
 
97 99
 ###Métodos de una clase
98 100
 
99
-Los métodos de una clase determinan qué acciones podemos tomar sobre los objetos de esa clase.  Los métodos son parecidos a las funciones en el sentido de que pueden recibir parámetros y regresar un resultado.  Una forma elemental de conocer los métodos de una clase es leyendo la declaración de la clase. Por ejemplo, lo siguiente es parte de la declaración de la clase `Bird` en el archivo `bird.h`. 
101
+Los métodos de una clase determinan qué acciones podemos tomar sobre los objetos de esa clase.  Los métodos son parecidos a las funciones en el sentido de que pueden recibir parámetros y regresar un resultado.  Una forma elemental de conocer los métodos de una clase es leyendo la declaración de la clase. Por ejemplo, lo siguiente es parte de la declaración de la clase `Bird` en el archivo `bird.h`.
100 102
 
101 103
 ---
102 104
 
@@ -109,7 +111,7 @@ class Bird : public QWidget
109 111
 //...
110 112
 
111 113
     Bird(int , EyeBrowType , QString , QString, QWidget *parent = 0) ;
112
-    
114
+
113 115
     int getSize() const;
114 116
     EyeBrowType getEyebrow() const ;
115 117
     QString  getFaceColor() const;
@@ -148,7 +150,7 @@ Para invocar un método escribimos el nombre del objeto, seguido de un punto y l
148 150
 
149 151
 ####Constructores
150 152
 
151
-Los primeros métodos de una clase que debemos entender son los *constructores*.Una clase puede tener múltiples constructores. Uno de los constructores será invocado automáticamente cada vez que se crea un objeto de esa clase. En la mayoría de los casos, los constructores se utilizan para inicializar los valores de los atributos del objeto. Para poder crear objetos de una clase, debemos conocer cuáles son sus constructores. 
153
+Los primeros métodos de una clase que debemos entender son los *constructores*.Una clase puede tener múltiples constructores. Uno de los constructores será invocado automáticamente cada vez que se crea un objeto de esa clase. En la mayoría de los casos, los constructores se utilizan para inicializar los valores de los atributos del objeto. Para poder crear objetos de una clase, debemos conocer cuáles son sus constructores.
152 154
 
153 155
 En C++, los  constructores tienen el mismo nombre que la clase. No se declara el tipo que devuelven porque estas funciones no devuelven ningún valor. Su declaración (incluida en la definición de la clase) es algo así:
154 156
 
@@ -164,7 +166,7 @@ La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores
164 166
 
165 167
 `Bird (int, EyeBrowType, QString, QString, QWidget *parent=0)`
166 168
 
167
-Puedes ver las declaraciones de los prototipos de estos métodos en la declaración de la clase `Bird` en el archivo `bird.h` del proyecto. La documentación de la clase se encuentra dentro de la documentación del proyecto (`eip/objetcs-birds/doc/es/html/class_bird.html`). El primer constructor, `Bird (QWidget *parent=0)`, es un método  que se puede invocar con uno o ningún argumento. Si al invocarlo no se usa argumento, el parámetro de la función toma el valor 0. 
169
+Puedes ver las declaraciones de los prototipos de estos métodos en la declaración de la clase `Bird` en el archivo `bird.h` del proyecto. La documentación de la clase se encuentra dentro de la documentación del proyecto (`eip/objetcs-birds/doc/es/html/class_bird.html`). El primer constructor, `Bird (QWidget *parent=0)`, es un método  que se puede invocar con uno o ningún argumento. Si al invocarlo no se usa argumento, el parámetro de la función toma el valor 0.
168 170
 
169 171
 El constructor de una clase que se puede invocar sin usar argumentos es el *constructor* "*default*" de la clase; esto es, el constructor que se invoca cuando creamos un objeto usando una instrucción como:
170 172
 
@@ -181,10 +183,10 @@ Dale un vistazo a la documentación del segundo constructor, `Bird (int, EyeBrow
181 183
 
182 184
 Las clases proveen métodos para modificar los valores de los atributos de un objeto que se ha creado. Estos métodos se llaman "*setters*" o "*mutators*". Usualmente se declara un "setter" por cada atributo que tiene la clase. La clase `Bird` tiene los siguientes "setters":
183 185
 
184
-* `void setSize (int)` 
185
-* `void setEyebrow (EyeBrowType)` 
186
-* `void setFaceColor (QString)` 
187
-* `void setEyeColor (QString)` 
186
+* `void setSize (int)`
187
+* `void setEyebrow (EyeBrowType)`
188
+* `void setFaceColor (QString)`
189
+* `void setEyeColor (QString)`
188 190
 
189 191
 
190 192
 Puedes ver las declaraciones de los métodos en la Figura 1 y en la declaración de la clase `Bird` en  `bird.h`, y la implementación de algunos de los métodos en `bird.cpp`. El código en el siguiente ejemplo crea el objeto `bobo` de la clase `Bird` y luego cambia su tamaño a 333.
@@ -199,10 +201,10 @@ bobo.setSize(333);
199 201
 
200 202
 Las clases también proveen métodos para acceder  ("get") el valor del atributo de un objeto. Estos métodos se llaman "*getters*" o "*accessors*". Usualmente se declara un "getter" por cada atributo que tiene la clase. La clase `Bird` tiene los siguientes "getters":
201 203
 
202
-* `int getSize ()` 
203
-* `EyeBrowType getEyebrow ()` 
204
+* `int getSize ()`
205
+* `EyeBrowType getEyebrow ()`
204 206
 * `QString  getFaceColor ()`
205
-* `QString   getEyeColor ()` 
207
+* `QString   getEyeColor ()`
206 208
 
207 209
 
208 210
 Puedes ver las declaraciones de los métodos en la Figura 1 y en la declaración de la clase `Bird` en  `bird.h`, y las implementaciones de algunos de métodos en `bird.cpp`. El código en el siguiente ejemplo crea el objeto `piolin` de la clase `Bird` e imprime su tamaño.
@@ -218,7 +220,7 @@ cout << piolin.getSize();
218 220
 
219 221
 `void MainWindow::addBird(int x, int y, Bird &b)`  
220 222
 
221
-`void MainWindow::addBird(Bird &b)` 
223
+`void MainWindow::addBird(Bird &b)`
222 224
 
223 225
 que añadirán a la pantalla un dibujo del objeto de la clase `Bird` que es recibido como argumento. El código en el siguiente ejemplo crea un objeto `w` de la clase `MainWindow`, crea un objeto `zumbador` de la clase `Bird` y lo añade a la posición (200,200) de la pantalla `w` usando el primer método.
224 226
 
@@ -309,7 +311,7 @@ En este ejercicio crearás objetos de clase `Bird` usando el constructor por def
309 311
 
310 312
 **Instrucciones**
311 313
 
312
-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. 
314
+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.
313 315
 
314 316
 2. Corre varias veces el programa y maravíllate al ver a `abelardo` tener tamaños, colores y cejas distintas.
315 317
 
@@ -344,7 +346,7 @@ Luego crea a `alondra` usando el otro constructor (el que recibe argumentos) par
344 346
 
345 347
   ---
346 348
 
347
-6. Corre varias veces el programa para asegurarte que `alondra` y `juana` siguen pareciéndose en tamaño, cejas y ojos. 
349
+6. Corre varias veces el programa para asegurarte que `alondra` y `juana` siguen pareciéndose en tamaño, cejas y ojos.
348 350
 
349 351
 
350 352
 ---
@@ -377,10 +379,10 @@ https://sites.google.com/a/wellesley.edu/wellesley-cs118-spring13/lectures-labs/
377 379
 
378 380
 [English](#markdown-header-using-objects-in-c-birds) | [Español](#markdown-header-utilizando-objetos-en-c-pajaros)
379 381
 
380
-#Using Objects in C++ - Birds
382
+# Using Objects in C++ - Birds
381 383
 
382 384
 
383
-<div align='center'><img src="http://i.imgur.com/9D8D7wH.png" width="215" height="174">  <img src="http://i.imgur.com/2zwymir.png?1" width="215" height="174">  <img src="http://demo05.cloudimage.io/s/resize/300/i.imgur.com/A5UVBHd.png" width="215" height="174"></div>
385
+![](images/headerBirds.png)
384 386
 
385 387
 <p> </p>
386 388
 
@@ -484,7 +486,7 @@ class Bird : public QWidget
484 486
 //...
485 487
 
486 488
     Bird(int , EyeBrowType , QString , QString, QWidget *parent = 0) ;
487
-    
489
+
488 490
     int getSize() const;
489 491
     EyeBrowType getEyebrow() const ;
490 492
     QString  getFaceColor() const;
@@ -558,10 +560,10 @@ Have a look at the documentation for the second constructor, `Bird (int, EyeBrow
558 560
 
559 561
 Classes provide methods to modify the values of the attributes of an objected that has been created. These methods are called *setters* or *mutators*. Usually, we declare one setter for each attribute that the class has. The `Bird` class has the following setters:
560 562
 
561
-* `void setSize (int)` 
562
-* `void setEyebrow (EyeBrowType)` 
563
-* `void setFaceColor (QString)` 
564
-* `void setEyeColor (QString)` 
563
+* `void setSize (int)`
564
+* `void setEyebrow (EyeBrowType)`
565
+* `void setFaceColor (QString)`
566
+* `void setEyeColor (QString)`
565 567
 
566 568
 
567 569
 You can see the method's declarations in Figure 1 and in the `Bird` class declaration in `bird.h`, and the implementation of the some of the methods in `bird.cpp`. The code in the following example creates the object `bobo` of the `Bird` class and then changes its size to 333.
@@ -575,10 +577,10 @@ bobo.setSize(333);
575 577
 
576 578
 Classes also provide methods to access (get) the value of the attribute of an object. These methods are called *getters* or *accessors*. We usually declare one getter for each attribute a class has. The `Bird` class has the following getters:
577 579
 
578
-* `int getSize ()` 
579
-* `EyeBrowType getEyebrow ()` 
580
+* `int getSize ()`
581
+* `EyeBrowType getEyebrow ()`
580 582
 * `QString  getFaceColor ()`
581
-* `QString   getEyeColor ()` 
583
+* `QString   getEyeColor ()`
582 584
 
583 585
 You can see the declarations of the methods in Figure 1 and  in the `Bird` class declaration in `bird.h`, and the implementations of some of the methods in `bird.cpp`. The code in the following example creates the object `piolin` of the `Bird` class and prints its size:
584 586
 
@@ -729,4 +731,4 @@ Use "Deliverables" in Moodle to hand in the `main.cpp` file that contains the fu
729 731
 ##References
730 732
 
731 733
 
732
-https://sites.google.com/a/wellesley.edu/wellesley-cs118-spring13/lectures-labs/lab-2
734
+https://sites.google.com/a/wellesley.edu/wellesley-cs118-spring13/lectures-labs/lab-2

BIN
images/fourBirds.png View File


BIN
images/headerBirds.png View File


BIN
images/qobject.png View File


BIN
images/unibrow.png View File