Browse Source

Updates README-es.md

Auto commit by GitBook Editor
Rafael Arce Nazario 8 years ago
parent
commit
c0e45be161
1 changed files with 24 additions and 32 deletions
  1. 24
    32
      README-es.md

+ 24
- 32
README-es.md View File

86
 
86
 
87
 ### Objetos
87
 ### Objetos
88
 
88
 
89
-Un objeto es un ente que contiene datos (al igual que una variable), llamados sus *atributos* o *miembros dato*, y también contiene procedimientos, llamados *métodos* o *funciones miembro*, que se usan para manipularlos. Los objetos son *instancias* de una clase que se crean de manera similar a como se definen las variables:
89
+Un objeto es un ente que contiene datos llamados sus *atributos* o *miembros dato*, y también contiene procedimientos, llamados *métodos* o *funciones miembro*, que se usan para manipularlos. Los objetos son *instancias* de una clase que se crean de manera similar a como se definen las variables. Por ejemplo, ya conoces como crear objetos de tipo `string` en tus programas:
90
 
90
 
91
-`NombreClase nombreObjeto;`
91
+```cpp
92
+string nombre;
93
+```
92
 
94
 
93
 Una vez creamos un objeto, podemos interactuar con él usando los métodos de la clase a la que pertenece.
95
 Una vez creamos un objeto, podemos interactuar con él usando los métodos de la clase a la que pertenece.
94
 
96
 
95
 ### Métodos de una clase
97
 ### Métodos de una clase
96
 
98
 
97
-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, el siguiente código es parte de la declaración de la clase `Bird` en el archivo `bird.h`. 
99
+Los *métodos* o *funciones miembro* 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, el siguiente código es parte de la declaración de la clase `Bird` en el archivo `bird.h`. 
98
 
100
 
99
 ---
101
 ---
100
 
102
 
101
 
103
 
102
-```
103
-class Bird : public QWidget
104
-{
105
-.
106
-.
107
-.
104
+```cpp
105
+class Bird : public QWidget {
106
+private:
107
+    int size;
108
+    QString faceColor;
109
+    .
110
+    .
111
+public:
108
     Bird(int , EyeBrowType , QString , QString, QWidget *parent = 0) ;
112
     Bird(int , EyeBrowType , QString , QString, QWidget *parent = 0) ;
109
     
113
     
110
     int getSize() const;
114
     int getSize() const;
117
     void setEyebrow(EyeBrowType) ;
121
     void setEyebrow(EyeBrowType) ;
118
     void setFaceColor(QString) ;
122
     void setFaceColor(QString) ;
119
     void setEyeColor(QString) ;
123
     void setEyeColor(QString) ;
120
-.
121
-.
122
-.
124
+    .
125
+    .
123
 };
126
 };
124
 ```
127
 ```
125
 ---
128
 ---
126
 
129
 
127
 Una vez creado un objeto, sus métodos proveen la única forma de cambiar sus atributos, obtener información o hacer cómputos en los mismos. Es por esto que comúnmente se llama *interfaz* al conjunto de métodos de una clase. Los métodos son la interfaz entre el usuario de un objeto y su contenido.
130
 Una vez creado un objeto, sus métodos proveen la única forma de cambiar sus atributos, obtener información o hacer cómputos en los mismos. Es por esto que comúnmente se llama *interfaz* al conjunto de métodos de una clase. Los métodos son la interfaz entre el usuario de un objeto y su contenido.
128
 
131
 
132
+Digamos que en tu programa defines un objeto llamado `Piolin` de clase `Bird` así:
129
 
133
 
130
-En general, en cada clase se definen los prototipos de los métodos para construir los objetos, y para buscar, manipular y guardar los datos. Lo siguiente es el formato general del prototipo de un método:
131
-
132
-`tipoDevolver nombreMetodo(tipo de los parámetros);`
133
-
134
-Luego, en el código del proyecto se escribe la función correspondiente al método, comenzando con un encabezado que incluye el nombre de la clase a la cuál pertenece la función:
135
-
136
-`TipoDevolver NombreClase::NombreMetodo(parámetros)`
137
-
138
-Para que los objetos que sean una instancia de una clase puedan tener acceso a las variables privadas de la clase se declaran métodos que sean públicos y que den acceso a estas clases (ver abajo "setters" y "getters"). Es preferible utilizar variables privadas y accederlas mediante los "setters" y "getters", a declararlas públicas ya que de esta manera el objeto que está asociado a estas variables tiene el control de los cambios que se hacen.
139
-
140
-Para invocar un método escribimos el nombre del objeto, seguido de un punto y luego el nombre del método:
141
-
142
-`nombreObjeto.nombreMetodo(argumentos);`
134
+```cpp
135
+Bird Piolin;
136
+```
143
 
137
 
138
+Para acceder y/o modificar los valores de los miembros de dato de `Piolin` debes hacerlo usando la función miembro adecuada. Por ejemplo, si quisieras cambiar el valor al miembro dato `size` de `Piolin` lo harías llamando a la función miembro `setSize` así:
144
 
139
 
140
+```cpp
141
+Piolin.setSize(100)
142
+```
145
 
143
 
146
 #### Constructores
144
 #### Constructores
147
 
145
 
148
 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. 
149
 
147
 
150
-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í:
151
-
152
-`nombreMetodo(tipo de los parámetros);`
153
-
154
-El encabezado de la función será algo así:
155
-
156
-`NombreClase::NombreMetodo(parámetros)`
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). 
157
 
149
 
158
 La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores (funciones sobrecargadas):
150
 La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores (funciones sobrecargadas):
159
 
151