Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Los primeros lenguajes de programacin no usaban objetos, solo variables. Una vari
able podramos decir que es un espacio de la memoria del ordenador a la que asigna
mos un contenido que puede ser un valor numrico (slo nmeros, con su valor de clculo)
o de tipo carcter o cadena de caracteres (valor alfanumrico que constar slo de text
o o de texto mezclado con nmeros).
Como ejemplo podemos definir una variable a que contenga 32 y esto lo escribimos
como a = 32. Posteriormente podemos cambiar el valor de a y hacer a = 78. O hac
er a equivalente al valor de otra variable b as: a = b.
Dado que antes hemos dicho que un objeto tambin ocupa un espacio de memoria: en qu
se parecen y en qu se diferencia un objeto de una variable? Consideraremos que la
s variables son entidades elementales: un nmero, un carcter, un valor verdadero o
falso mientras que los objetos son entidades complejas que pueden estar formadas
por la agrupacin de muchas variables y mtodos. Pero ambas cosas ocupan lo mismo: u
n espacio de memoria (que puede ser ms o menos grande).
En los programas en Java puede ser necesario tanto el uso de datos elementales c
omo de datos complejos. Por eso en Java se usa el trmino Tipos de datos para englob
ar a cualquier cosa que ocupa un espacio de memoria y que puede ir tomando disti
ntos valores o caractersticas durante la ejecucin del programa. Es decir, en vez d
e hablar de tipos de variables o de tipos de objetos, hablaremos simplemente de
tipos de datos. Sin embargo, a veces coloquialmente no se utiliza la terminologa de
forma estricta: puedes encontrarte textos o pginas web donde se habla de una var
iable en alusin a un objeto.
En Java diferenciamos dos tipos de datos: por un lado, los tipos primitivos, que
se corresponden con los tipos de variables en lenguajes como C y que son los da
tos elementales que hemos citado. Por otro lado, los tipos objeto (que normalmen
te incluyen mtodos).
Veamos los tipos de datos en Java sobre un esquema de sntesis:
Nos aparece: returned Taxi@105bd58 (no tiene por qu coincidir con estos dgitos). Pru
eba a hacer lo mismo con otros objetos Taxi. Vers que cada objeto devuelve una ca
dena Taxi@.......... distinta. Esto significa que cada objeto ocupa un espacio d
e memoria distinto y a ese espacio de memoria se le denomina de esa manera un po
co extraa. Hacer esto ha sido posible porque al crear objetos en Java por defecto
se dispone de algunos mtodos comunes a cualquier objeto. Nosotros en realidad to
dava no hemos definido mtodos propios para los objetos tipo Taxi.
En un programa, cada objeto de tipo Taxi podra informar de su posicin, de su tipo
de motor, etc. o ser llamado para que tome determinada posicin (coordenadas), o p
ara modificar el tipo de motor que tiene establecido, entre muchas otras cosas.
Prueba a crear objetos tranva y a consultar el identificador de su espacio de mem
oria. Prueba tambin a borrar objetos del banco de objetos. Para ello pulsa sobre
su icono y con el botn derecho del ratn elige la opcin Remove .
Por ltimo, vamos a indicar un convenio que sigue la mayora de los programadores: a
las diferentes clases les pondremos nombres que comiencen por mayscula como Taxi .
Por el contrario, a los objetos les pondremos nombres que comiencen por minscula.
En nuestro caso podramos haber nombrado a los objetos como taxi_BFG_7452 para re
spetar el convenio. Seguir esta norma no es obligada, pero hacerlo es recomendab
/* Ejemplo - aprenderaprogramar.com */
public class Taxi {
public static void main (String[ ] arg) {
System.out.println ("Soy un taxi");
} //Cierre del main
} //Cierre de la clase
En otra clase escribiremos:
/* Ejemplo - aprenderaprogramar.com */
public class Tranvia {
public static void main (String[ ] arg) {
System.out.println ("Soy un tranva");
} //Cierre del main
} //Cierre de la clase
Estas definiciones son quizs poco clarificadoras. Con un ejemplo vamos a entender
lo mejor. En primer lugar pensemos en un programa que trata de gestionar datos s
obre los vehculos de transporte pblico de una ciudad, por ejemplo Mxico D.F.
En este ejemplo hemos considerado que el problema consta de tres tipos de vehculo
: taxi, autobs y tranva, y que esos tipos los denominamos clases. Qu haramos en Java
para definir una clase? Indicar sus propiedades y operaciones (mtodos) disponible
s, por ejemplo:
/* Ejemplo Clase Taxi - aprenderaprogramar.com */
Clase Taxi {
Propiedades:
Matrcula identificativa
Distrito en el que opera
Tipo de motor diesel o gasolina
Coordenadas en las que se ubica
Operaciones disponibles:
Asignar una matrcula
Asignar un distrito
Asignar un tipo de motor
Ubicar en unas coordenadas
}
El haber definido as el taxi significar que todo objeto de tipo Taxi que creemos t
endr una matrcula identificativa, un distrito en el que opera, un tipo de motor y
unas coordenadas en las que se ubica. La creacin de un objeto sera algo as como: Cre
ar un objeto Taxi con matrcula BFG-7452, distrito Norte, tipo de motor Diesel y c
oordenadas Desconocidas.
El uso de una operacin sobre un objeto sera algo as como: Taxi BFG-7452 --> Ubicar e
n coordenadas (X = 128223, Y = 877533) . Las operaciones en Java se denominan mtodo
s, veremos cmo se definen ms adelante.
Decimos que un objeto es una instancia de una clase. Por ejemplo el taxi matrcula
BFG-7452 es una instancia de la clase Taxi. Varios objetos (p.ej. taxis) de una
misma clase decimos que constituyen instancias mltiples de la clase. Ms adelante
veremos que tanto una clase como un objeto en Java pueden representar otras cosa
s adems de lo que ahora hemos explicado, pero todo a su tiempo.
Cuando escribimos cdigo en general es til realizar comentarios explicativos. Los c
omentarios no tienen efecto como instrucciones para el ordenador, simplemente si
rven para que cuando un programador lea el cdigo pueda comprender mejor lo que le
e.
info@mgsystem.org