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( )

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