|
|
|
|
145
|
|
145
|
|
146
|
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.
|
146
|
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.
|
147
|
|
147
|
|
148
|
-En C++, los constructores tienen el mismo nombre que la clase y no tienen tipo de valor de regreso (ya que no devuelven ningún valor).
|
|
|
|
|
148
|
+En C++, los constructores tienen el mismo nombre que la clase y no tienen tipo de valor de regreso (ya que no devuelven ningún valor). La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores (funciones sobrecargadas):
|
149
|
|
149
|
|
150
|
-La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores (funciones sobrecargadas):
|
|
|
151
|
-
|
|
|
152
|
-`Bird (QWidget *parent=0)`
|
|
|
|
|
150
|
+```cpp
|
|
|
151
|
+Bird (QWidget *parent=0)
|
153
|
|
152
|
|
154
|
-`Bird (int, EyeBrowType, QString, QString, QWidget *parent=0)`
|
|
|
|
|
153
|
+Bird (int, EyeBrowType, QString, QString, QWidget *parent=0)
|
|
|
154
|
+```
|
155
|
|
155
|
|
156
|
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 se encuentra en [este enlace](doc/es/html/index.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.
|
156
|
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 se encuentra en [este enlace](doc/es/html/index.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.
|
157
|
|
157
|
|
158
|
El constructor de una clase que se puede invocar sin usar argumentos es el *constructor por defecto ("default")* de la clase; esto es, el constructor que se invoca cuando creamos un objeto usando una instrucción como:
|
158
|
El constructor de una clase que se puede invocar sin usar argumentos es el *constructor por defecto ("default")* de la clase; esto es, el constructor que se invoca cuando creamos un objeto usando una instrucción como:
|
159
|
|
159
|
|
160
|
-`Bird pitirre;`
|
|
|
|
|
160
|
+```cpp
|
|
|
161
|
+Bird pitirre;
|
|
|
162
|
+```
|
161
|
|
163
|
|
162
|
Puedes ver las implementaciones de los métodos de la clase Bird en el archivo `bird.cpp`. Nota que el primer constructor, `Bird (QWidget *parent=0)`, asignará valores aleatorios ("random") a cada uno de los atributos del objeto. Más adelante hay una breve explicación de la función `randInt`.
|
164
|
Puedes ver las implementaciones de los métodos de la clase Bird en el archivo `bird.cpp`. Nota que el primer constructor, `Bird (QWidget *parent=0)`, asignará valores aleatorios ("random") a cada uno de los atributos del objeto. Más adelante hay una breve explicación de la función `randInt`.
|
163
|
|
165
|
|
164
|
Dale un vistazo a la documentación del segundo constructor, `Bird (int, EyeBrowType, QString, QString, QWidget *parent=0)`. Esta función requiere cuatro argumentos y tiene un quinto argumento que es opcional porque tiene un valor predeterminado. Una manera para usar este constructor es creando un objeto como el siguiente:
|
166
|
Dale un vistazo a la documentación del segundo constructor, `Bird (int, EyeBrowType, QString, QString, QWidget *parent=0)`. Esta función requiere cuatro argumentos y tiene un quinto argumento que es opcional porque tiene un valor predeterminado. Una manera para usar este constructor es creando un objeto como el siguiente:
|
165
|
|
167
|
|
166
|
-`Bird guaraguao(200, Bird::UPSET, "blue", "red");`
|
|
|
|
|
168
|
+```cpp
|
|
|
169
|
+Bird guaraguao(200, Bird::UPSET, "blue", "red");
|
|
|
170
|
+```
|
167
|
|
171
|
|
168
|
|
172
|
|
169
|
#### "Setters" ("mutators")
|
173
|
#### "Setters" ("mutators")
|