»
S
I
D
E
B
A
R
«
Anatomia de una clases
Octubre 12th, 2009 by John Carlos Arrieta Arrieta


Simbiotica


Creative Commons License



www.simbiotica.com.co


Contáctenos…

Esta sitio y todo su contenido  está protegida por
licencia de Creative Commons

Un software  escrito con un lenguaje de programación Orientado a Objetos está compuesto en su gran mayoría por estructuras de dato dominadas Clases, aunque desde el inicio hasta nuestros días algunos lenguajes de programación OO han ido incorporando otra estructuras de datos como los Struct, los Enum, las Anotaciones, los Interface, entre otras, las clases son los elementos más importantes y predominantes dentro del código fuente de un software Orientado  Objetos.

¿Pero que es una Clase?

Una clase no es más que otra forma escribir un algoritmo, donde el nombre del algoritmo es el nombre de la clase y al igual que los algoritmos tradicionales, las clases también poseen un inicio,  variables globales, variables locales, funciones y un fin,  pero en una clase a las variables globales se les llama atributos o propiedades estáticas y a las funciones se les llama métodos o propiedades dinámicas.

Para explicar mejor el concepto realizare un ejemplo sobre un algoritmo muy simple, el cual primero lo hare en pseudocódigo y luego lo pasara a pseudocódigo OO y por último a código Java, se trata de una calculadora básica, es decir las operaciones de suma resta multiplicación, división y no validara el formato de los datos introducidos, todo con el fin de implicar el ejemplo.

Calculadora Pseudocódigo estructurado (también conocido como procedural)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
VAR num1, num2: NUMERICO

INICIO

# esta FUNCION suma el valor de las VARibles

# Globales num1 y num2 del algoritmo y retorna

# un valor NUMERICO correspondiente al resultado

# de la  suma almacenado en la VARialbe local respuesta

FUNCION sumar ( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 + num2

RETORNA respuesta

FIN FUNCION

# esta FUNCION resta el valor de las VARibles

# globales num1 y num2 del algoritmo y retorna

# un valor NUMERICO correspondiente al resultado

# de la  resta almacenado en la VARialbe local respuesta

FUNCION restar ( )  : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 - num2

RETORNA respuesta

FIN FUNCION

# esta FUNCION multiplicacion el valor de las VARibles

# globales num1 y num2 del algoritmo y retorna

# un valor NUMERICO correspondiente al resultado

# de la  multimplicacion almacenado en la VARialbe local respuesta

FUNCION multiplicar ( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 * num2

RETORNA respuesta

FIN FUNCION

# esta FUNCION división el valor de las VARibles

# Globales num1 y num2 del algoritmo y retorna

# un valor NUMERICO correspondiente al resultado

# de la  división almacenado en la VARialbe local respuesta

FUNCION dividir( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 / num2

RETORNA respuesta

FIN FUNCION

# esta FUNCION ejecuta al programa mostrando

# el resultado de la operación elegida

FUNCION ejecutar ( ) : RETORNA nada

VAR opcion: NUMERICO

VAR numero_valido : logico

VAR respuesta : NUMERICO

INICIO

# introducir el primer número de la operación

numero_valido := FALSO

REPETIR

IMPRIMIR ( "Digite el primero nuemero: " )

LEER( num1 )

SI (( num1 <= 0 ) = FALSO) AND (( num1 >=0 ) = FALSO) ENTONCES

IMPRIMIR ( "Debe digitar un numero menor, mayor o igual a 0" )

SI no

numero_valido := VERDADERO

FIN SI

HASTA QUE (numero_valido = FALSO )

# introducir el segundo numero de la operacion

numero_valido := FALSO

REPETIR

IMPRIMIR ( "Digite el segundo nuemero: " )

LEER( num2 ) ENTONCES

SI (( num2 <= 0 ) = FALSO ) AND (( num2 >=0 ) = FALSO) ENTONCES

IMPRIMIR ( "Debe digitar un numero menor, mayor o igual a 0" )

SI no

numero_valido := VERDADERO

FIN SI

HASTA QUE (numero_valido = FALSO )

# escoger una opcion para la operacion

numero_valido := FALSO

REPETIR

IMPRIMIR ( "0 Para Terminar")

IMPRIMIR ( "1 Para Sumar " + num1 + " y " + num2 )

IMPRIMIR ( "2 Para Restar" + num1 + " y " + num2 )

IMPRIMIR ( "3 Para Multiplicar" + num1 + " y " + num2 )

IMPRIMIR ( "4 Para Dividir" + num1 + " y " + num2 )

LEER( opcion )

SI (opcion < 0 OR opcion > 4) ENTONCES

IMPRIMIR ( "Escoger una opcion entre 1 y 4" )

SINO SI ( opcion = 0 )

numero_valido := VERDADERO

FIN SI

#realizar la operacion escogida

SI ( opcion = 1 ) ENTONCES

respuesta := sumar()

IMPRIMIR ( "La respuesta de Sumar " + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 2 ) ENTONCES

respuesta := restar()

IMPRIMIR ( "La respuesta de Restar " + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 3 ) ENTONCES

respuesta := multiplicar()

IMPRIMIR ( "La respuesta de Sumar" + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 4 ) ENTONCES

SI ( num2 = 0 ) ENTONCES

IMPRIMIR ( "La Division entre 0 no esta Definida" )

SI NO

respuesta := dividir()

IMPRIMIR ( "La respuesta de Sumar" + num1 + " y " + num2 + " es: " + respuesta )

FIN SI

FIN SI

HASTA QUE (numero_valido = FALSO )

IMPRIMIR ( "EL Programa ha Finalizado" );

FIN FUNCION

FIN ALGORITMO

Ahora pasare este mismo programa a Pseudocodigo tipo Clase

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
CLASE Calculadora

INICIO

VAR num1, num2: NUMERICO

# FUNCION que asigna  valores por defecto a las VARiables

# globales de la del algoritmo (ósea la clase)

# asigna entrega a otra VARiable (osea el objeto)

# la ubicación de la memoria donde se encuentran

# las VARibles globlales y su respectivos valores

# de tal forma que se puedan utiliza a la VARiable

# objeto como medio de acceso a la VARiables globales

# de esta clase (algotimo);

# esta FUNCION sele conoce como constructor de objetos

# de la clase (contructor de VARibles del tipo de esta clase)

#

FUNCION Calculadora ( ) : RETORNA Objeto

INICIO

num1 := 0

num2 := 0

FIN FUNCION

# otro constructor que recive como valores (parametros)

# dos valores, los coloca en sus dos respectivas VARiables

# locales y luego aSIgna su valores a las dos respectivas

# VARiables globales

FUNCION Calculadora ( numero1 : NUMERICO, numero2 : NUMERICO) : RETORNA Objeto

INICIO

num1 := numero1

num2 := numero2

FIN FUNCION

# esta FUNCION suma el valor de las VARibles

# globales num1 y num2 del algoritmo y retorona

# un valor NUMERICO correspondiente al resultado

# de la  suma almacenado en la VARialbe local respuesta

FUNCION sumar ( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 + num2

returna respuesta

FIN FUNCION

# esta FUNCION resta el valor de las VARibles

# globales num1 y num2 del algoritmo y retorona

# un valor NUMERICO correspondiente al resultado

# de la  resta almacenado en la VARialbe local respuesta

FUNCION restar ( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 - num2

returna respuesta

FIN FUNCION

# esta FUNCION multiplicacion el valor de las VARibles

# globales num1 y num2 del algoritmo y retorona

# un valor NUMERICO correspondiente al resultado

# de la  multimplicacion almacenado en la VARialbe local respuesta

FUNCION multiplicar ( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 * num2

returna respuesta

FIN FUNCION

# esta FUNCION diviSIon el valor de las VARibles

# globales num1 y num2 del algoritmo y retorona

# un valor NUMERICO correspondiente al resultado

# de la  diviSIon almacenado en la VARialbe local respuesta

FUNCION dividir( ) : RETORNA NUMERICO

VAR respuesta : NUMERICO

INICIO

respuesta := num1 / num2

returna respuesta

FIN FUNCION

# esta FUNCION ejecuta al programa mostrando

# el resultado de la operacion elegida

FUNCION ejecutar ( ) : RETORNA nada

VAR opcion: NUMERICO

VAR numero_valido : logico

VAR respuesta : NUMERICO

VAR objeto_calculadora : Calculadora

INICIO

# introducir el primer numero de la operacion

# creamos una VARible (Objeto) del tipo Calculadora

objeto_calculadora := nuevo Calculadora()

numero_valido := FALSO

REPETIR

IMPRIMIR ( "Digite el primero nuemero: " )

LEER( objeto_calculadora.num1 )

SI (( objeto_calculadora.num1  <= 0 ) = FALSO) AND (( objeto_calculadora.num1 >=0 ) = FALSO) entonces

IMPRIMIR ( "Debe digitar un numero menor, mayor o igual a 0" )

SI no

numero_valido := VERDADERO

FIN SI

HASTA QUE (numero_valido = FALSO )

# introducir el segundo numero de la operacion

numero_valido := FALSO

REPETIR

IMPRIMIR ( "Digite el segundo numero: " )

LEER( objeto_calculadora.num2 ) ENTONCES

SI (( objeto_calculadora.num2 <= 0 ) = FALSO ) AND (( objeto_calculadora.num2 >=0 ) = FALSO) entonces

IMPRIMIR ( "Debe digitar un número menor, mayor o igual a 0" )

SI no

numero_valido := VERDADERO

FIN SI

HASTA QUE (numero_valido = FALSO )

# escoger una opcion para la operacion

numero_valido := FALSO

REPETIR

IMPRIMIR ( "0 Para Terminar )

IMPRIMIR ( "
1 Para Sumar " + num1 + " y " + num2 )

IMPRIMIR ( "
2 Para Restar" + num1 + " y " + num2 )

IMPRIMIR ( "
3 Para Multiplicar" + num1 + " y " + num2 )

IMPRIMIR ( "
4 Para Dividir" + num1 + " y " + num2 )

LEER( opcion )

SI (opcion < 0 OR opcion >= 4) ENTONCES

IMPRIMIR ( "
Escoger una opcion entre 0 y 4" )

SI NO

numero_valido := VERDADERO

FIN SI

#realizar la operacion escogida

SI ( opcion = 1 ) ENTONCES

respuesta := objeto_calculadora.sumar()

IMPRIMIR ( "
La respuesta de Sumar " + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 2 ) ENTONCES

respuesta := restar()

IMPRIMIR ( "
La respuesta de Restar " + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 3 ) ENTONCES

respuesta := objeto_calculadora.multiplicar()

IMPRIMIR ( "
La respuesta de Sumar" + num1 + " y " + num2 + " es: " + respuesta )

SINO SI ( opcion = 4 ) ENTONCES

SI ( num2 = 0 ) entonces

IMPRIMIR ( "
La DiviSIon entre 0 no esta DeFINida" )

SI NO

respuesta := objeto_calculadora.dividir()

IMPRIMIR ( "
La respuesta de Sumar" + num1 + " y " + num2 + " es: " + respuesta )

FIN SI

FIN SI

HASTA QUE (numero_valido = FALSO)

FIN FUNCION

FIN CLASE

# FIN algotirmo

Por ultimo escribiré el mismo algoritmo en codigo Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
public class Calculadora

{ // inicio

// variables globales

public float num1;

public float num2;

// funciones de la calse

/**

*

# funcion que asiga valores por defecto a las variables

# globales de la del algoritmo (osea la clase)

# asigna entrega a otra variable (osea el objeto)

# la ubicacion de la memoria donde se encuentran

# las varibles globlales y su respectivos valores

# de tal forma que se puedan utiliza a la variable

# objeto como medio de acceso a la variables globales

# de esta clase (algotimo);

# esta funcion sele conoce como constructor de objetos

# de la clase (contructor de varibles del tipo de esta clase)

#

*/


public Calculadora ()

{ // inicio

num1 = 0;

num2 = 0;

}// fin funcion

/**

# otro constructor que recive como valores (parametros)

# dos valores, los coloca en sus dos respectivas variables

# locales y luego asigna su valores a las dos respectivas

# variables globales

*/


public Calculadora ( float numero1, float numero2)

{ // inicio

num1 = numero1;

num2 = numero2;

}// fin funcion

/**

# esta funcion suma el valor de las varibles

# globales num1 y num2 del algoritmo y retorona

# un valor numerico correspondiente al resultado

# de la  suma almacenado en la varialbe local respuesta

*/


public float sumar ( )

{ // inicio

float respuesta; // var respuesta : numerico

respuesta = num1 + num2;

return respuesta;

}// fin funcion

/**

# esta funcion resta el valor de las varibles

# globales num1 y num2 del algoritmo y retorona

# un valor numerico correspondiente al resultado

# de la  resta almacenado en la varialbe local respuesta

*/


public float restar ( )

{ // inicio

float respuesta; // var respuesta : numerico

respuesta = num1 - num2;

return respuesta;

}// fin funcion

/**

# esta funcion multiplicacion el valor de las varibles

# globales num1 y num2 del algoritmo y retorona

# un valor numerico correspondiente al resultado

# de la  multimplicacion almacenado en la varialbe local respuesta

*/


public float multiplicar ( )

{ // inicio

float respuesta; // var respuesta : numerico

respuesta = num1 * num2;

return respuesta;

}// fin funcion

/**

# esta funcion division el valor de las varibles

# globales num1 y num2 del algoritmo y retorona

# un valor numerico correspondiente al resultado

# de la  division almacenado en la varialbe local respuesta

*/


public float dividir ( )

{ // inicio

float respuesta; // var respuesta : numerico

respuesta = num1 / num2;

return respuesta;

}// fin funcion

/**

# esta funcion ejecuta al programa mostrando

# el resultado de la operacion elegida

*/


public static void main ( String parametros [])

{ // inicio

int opcion = 0;

boolean numero_valido = false;

float respuesta;

Calculadora objetoCalculadora;

// # introducir el primer numero de la operacion

objetoCalculadora = new Calculadora();

numero_valido = false;

String datoEntrada ="";

java.io.DataInputStream entrada = new java.io.DataInputStream(System.in);

do{ // repetir

System.out.println( "Digite el primero nuemero: " );

try{

datoEntrada = entrada.readLine();

objetoCalculadora.num1 = Float.parseFloat(datoEntrada);

numero_valido = true;

}catch(Exception erro){

System.out.println( "Debe 111digitar un numero menor, mayor o igual a 0" );

}

}

while(numero_valido == false);

//# introducir el segundo numero de la operacion

numero_valido = false;

do{ // repetir

System.out.println( "Digite el Segundo nuemero: " );

try{

datoEntrada = entrada.readLine();

objetoCalculadora.num2 = Float.parseFloat(datoEntrada);

numero_valido = true;

}catch(Exception erro){

System.out.println( "Debe digitar un numero menor, mayor o igual a 0" );

}

}

while(numero_valido == false);

//# escoger una opcion para la operacion

numero_valido = false;

do{ // repetir

try{

System.out.println(  "0 para Terminar" );

System.out.println(  "1 Para Sumar " + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 );

System.out.println(  "2 Para Restar" + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 );

System.out.println(  "3 Para Multiplicar" + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 );

System.out.println(  "4 Para Dividir" + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 );

datoEntrada  = entrada.readLine();

opcion = Integer.parseInt(datoEntrada);

if(opcion < 0 || opcion > 4){

System.out.println( "Escoger una opcion entre 1 y 4" );

}

else if (opcion == 0){

numero_valido = true;

}

}catch(Exception erro){

System.out.println( "Escoger una opcion entre 1 y 4" );

}

// #realizar la operacion escogida

if ( opcion == 1 ) {

respuesta = objetoCalculadora.sumar();

System.out.println( "La respuesta de Sumar " + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 + " es: " + respuesta );

}

else if ( opcion == 2 ) {

respuesta = objetoCalculadora.restar();

System.out.println( "La respuesta de Restar " + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 + " es: " + respuesta ) ;

}

else if ( opcion == 3 ) {

respuesta = objetoCalculadora.multiplicar() ;

System.out.println(  "La respuesta de Sumar" + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 + " es: " + respuesta );

}

else if ( opcion == 4 ) {

if( objetoCalculadora.num2 == 0 ) {

System.out.println( "La Division entre 0 no esta Definida" );

}

else{

respuesta = objetoCalculadora.dividir() ;

System.out.println(  "La respuesta de Sumar" + objetoCalculadora.num1 + " y " + objetoCalculadora.num2 + " es: " + respuesta );

}

}

}

while(numero_valido == false);

System.out.println( "EL Programa ha Finalizado" );

}

} // fin clase

La salida del programa es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Digite el primero nuemero: 1.5
Digite el Segundo nuemero: 5.5
0 para Terminar
1 Para Sumar 1.5 y 5.5
2 Para Restar 1.5 y 5.5
3 Para Multiplicar 1.5 y 5.5
4 Para Dividir 1.5 y 5.5
La respuesta de Sumar 1.5 y 5.5 es: 7.0
0 para Terminar
1 Para Sumar 1.5 y 5.5
2 Para Restar 1.5 y 5.5
3 Para Multiplicar 1.5 y 5.5
4 Para Dividir 1.5 y 5.5
La respuesta de Restar 1.5 y 5.5 es: -4.0
0 para Terminar
1 Para Sumar 1.5 y 5.5
2 Para Restar 1.5 y 5.5
3 Para Multiplicar 1.5 y 5.5
4 Para Dividir 1.5 y 5.5
La respuesta de Multiplicar 1.5 y 5.5 es: 8.25
0 para Terminar
1 Para Sumar 1.5 y 5.5
2 Para Restar 1.5 y 5.5
3 Para Multiplicar 1.5 y 5.5
4 Para Dividir 1.5 y 5.5
La respuesta de Dividir 1.5 y 5.5 es: 0.27272728
0 para Terminar
1 Para Sumar 1.5 y 5.5
2 Para Restar 1.5 y 5.5
3 Para Multiplicar 1.5 y 5.5
4 Para Dividir 1.5 y 5.5
EL Programa ha Finalizado

Analicemos el algoritmo procedural y el algoritmo de clase.

Ambos algoritmos tiene un inico y un fin

Ambos algoritmos tiene dos variables globales  de tipo numérico llamadas num1 y num2, se les llama globales porque están declaradas fuera del inicio y fin de una función (al inicio y fin se le conoce como bloque), recuerden que una declaración es la instrucción donde se coloca el nombre de la variable y el nombre del tipo de dato que va a guardar dicha variable (variable : tipo), por ejemplo num1 : NUMERICO

Ambos algoritmos tienen las funciones sumar, restar, multiplicar, dividir y ejecutar, las cuatro primeras tienen declarada una variable local de tipo numérica llamada  resta (se les llama variable  local porque están declaradas dentro del bloque de una función), además retornan un valor de tipo numérico, este valor corresponde al contenido de la variable respuesta, el cual es el  resultado matemático que realiza cada función sobre las dos variables globales.

Se puede notar que el algoritmo de tipo Clase tiene dos funciones adicionales que no las posee el algoritmo procedural, estas funciones son particularmente especiales por lo siguiente:

Tienen exactamente el mismo nombre de la clase, por ejemplo Calculadora es el nombre de la clase y Calculadora debe ser el nombre de sus funciones  constructores.

Permiten crear una variable cuyo tipo es el nombre de la clase, esto quiere decir que una clase es en sí misma un tipo de datos, un tipo de dato no definido por el lenguaje de programación sino por nosotros los programadores, el cual podemos diseñar  y utilizar según nuestras necesidades.

La variable creada a partir de un constructor de clase se le conoce como referencia de objeto, cuando se llama a la función constructor se debe hacer anteponiendo la palabra nuevo (new), esta palabra indica al PC que debe asignar un espacio en memoria RAM para colocar el valor de las variables globales que pertenecen a la clase propietaria de ese constructor, al conjunto de estos valores en memoria se le conoce como Objeto, luego,  la variable que recibe el valor de la función constructor en realidad almacena la dirección en memoria RAM donde se encuentra almacenado el objeto, esta variable debe ser declarada con el nombre de la misma clase con la que fue creado el objeto.

objetoCalculadora : Calculadora

objetoCalculadora := new Calculadora( );

objetoCalculador.ejecutar( )

image0013

La función ejecutar es la que inicia la ejecución del algoritmo.

122 Visitas hoy

Comparte en tu Web:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • email
  • Reddit
  • RSS
  • StumbleUpon

2 Responses  
  • Jiansy90 writes:
    Diciembre 17th, 2009 at 22:55

    Aporte mui interesante Basico, para Trasender en mis ideas llenas de unos y Ceros, Mui bueno esto, Para tomar soporte a mis conocimientos…

    pdt: “Aprovechando al maximo el Amor Que tiene usted por su trabajo”

    Mis Mejores Deseos

    • John Carlos Arrieta Arrieta writes:
      Diciembre 18th, 2009 at 8:50

      Mil gracias Jiliar por participar y comentar mis artículos.
      Tu al igual que muchos de mis estudiante sabes que mi mayor motivación contribuir al su formación, con lo poco que se.

      Que Dios te colme de mil bendiciones, el nuevo año y todos los años venideros.

      Feliz Navidad


Por favor deje sus Comentarios aquí:

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
© John Carlos Arrieta Arrieta