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,25 +86,29 @@ Puedes ver la declaración de la clase `Bird` en el archivo `bird.h` incluido en
86 86
 
87 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 95
 Una vez creamos un objeto, podemos interactuar con él usando los métodos de la clase a la que pertenece.
94 96
 
95 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 112
     Bird(int , EyeBrowType , QString , QString, QWidget *parent = 0) ;
109 113
     
110 114
     int getSize() const;
@@ -117,43 +121,31 @@ class Bird : public QWidget
117 121
     void setEyebrow(EyeBrowType) ;
118 122
     void setFaceColor(QString) ;
119 123
     void setEyeColor(QString) ;
120
-.
121
-.
122
-.
124
+    .
125
+    .
123 126
 };
124 127
 ```
125 128
 ---
126 129
 
127 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 144
 #### Constructores
147 145
 
148 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 150
 La clase `Bird` que estarás usando en la sesión de hoy tiene dos constructores (funciones sobrecargadas):
159 151