Anda di halaman 1dari 6

6 SEMESTRE A

CHRISTIAN MOYON GOMEZ

UNIVERSIDAD
NACIONAL DE
CHIMBORAZO
CARRERA DE INGENIERIA CIVIL

LENGUAJE DE PROGRAMACION

TIPOS DE DATOS (VARIABLES) EN JAVA.


Los primeros lenguajes de programacin no usaban objetos, solo variables.
Una variable podramos decir que es un espacio de la memoria del
ordenador a la que asignamos 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 texto 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 hacer 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 las 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: un
espacio de memoria (que puede ser ms o menos grande).
En los programas en Java puede ser necesario tanto el uso de datos
elementales como de datos complejos. Por eso en Java se usa el trmino
Tipos de datos para englobar a cualquier cosa que ocupa un espacio de
memoria y que puede ir tomando distintos valores o caractersticas durante
la ejecucin del programa. Es decir, en vez de 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
variable 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 datos elementales que hemos citado. Por otro lado, los tipos objeto
(que normalmente incluyen mtodos).
Veamos los tipos de datos en Java sobre un esquema de sntesis:

CHRISTIAN MOYON GOMEZ

LENGUAJE DE PROGRAMACION

HERENCIAS EN JAVA
Muchas veces distintos objetos comparten campos y mtodos que hacen
aproximadamente lo mismo (por ejemplo almacenar y devolver un nombre
del mbito humano con el que se designa al objeto, como el ttulo de un
lbum de msica, el ttulo de un libro, el ttulo de una pelcula, etc.).

CHRISTIAN MOYON GOMEZ

LENGUAJE DE PROGRAMACION

Por ejemplo en un proyecto que utilice objetos Taxi y objetos Autobs


podramos encontrarnos algo as:

Para una aplicacin de gestin de una empresa de transporte que tenga


entre sus vehculos taxis y autobuses podramos tener otra clase
denominada FlotaCirculante donde tendramos posibilidad de almacenar
ambos tipos de objeto (por ejemplo taxis en un ArrayList y autobuses en
otro ArrayList) como reflejo de los vehculos que se encuentran en
circulacin en una fecha dada. Esas listas conllevaran una gestin para
aadir o eliminar vehculos de la flota circulante, modificar datos, etc.
resultando que cada una de las listas necesitara un tratamiento o
mantenimiento.
Si nos fijamos en el planteamiento del problema, encontramos lo siguiente:
a) La definicin de clases nos permite identificar campos y mtodos que son
comunes a Taxis y Autobuses. Si implementamos ambas clases tal y como lo
venimos haciendo, incurriremos en duplicidad de cdigo. Por ejemplo si el
campo matricula es en ambas clases un tipo String, el cdigo para gestionar
este campo ser idntico en ambas clases.
b) La definicin de clases nos permite identificar campos y mtodos que
difieren entre una clase y otra. Por ejemplo en la clase Taxi se gestiona
informacin sobre un campo denominado numeroDeLicencia que no existe
en la clase Autobus.
c) Conceptualmente podemos imaginar una abstraccin que engloba a
Taxis y Autobuses: ambos podramos englobarlos bajo la denominacin de
Vehculos. Un Taxi sera un tipo de Vehiculo y un Autobus otro tipo de
Vehiculo.
d) Si la empresa aade otros vehculos como minibuses, tranvas, etc.
manteniendo la definicin de clases tal y como la venamos viendo,
seguiramos engrosando la duplicidad de cdigo. Por ejemplo, un minibs
tambin tendra matrcula, potencia y los mtodos asociados.
La duplicidad de cdigo nos implicar problemas de mantenimiento. Por
ejemplo inicialmente tenemos una potencia en caballos y posteriormente
queremos definirla en kilowatios. O tenemos simplemente que modificar el
cdigo de un mtodo que aparece en distintas clases. El tener el cdigo
duplicado nos obliga a tener que hacer dos o ms modificaciones en sitios
CHRISTIAN MOYON GOMEZ

LENGUAJE DE PROGRAMACION

distintos. Pueden ser dos modificaciones, tres, cuatro o n modificaciones


dependiendo del nmero de clases que se vieran afectadas, y esto a la larga
genera errores al no ser el mantenimiento razonable.
En la clase FlotaCirculante tambin tendremos seguramente duplicidades:
por un lado un ArrayList de taxis y por otro un ArrayList de autobuses, por
un lado una operacin de adicin de taxis y otra operacin de adicin de
autobuses, por un lado una operacin para mostrar los elementos de la lista
de taxis y otra para los elementos de la lista de autobuses
No sera ms razonable, si una propiedad o mtodo va a ser siempre
comn para varios tipos de objetos, que estuviera localizada en un sitio
nico del que ambos tipos de objeto bebieran? En los lenguajes con
orientacin a objetos la solucin a esta problemtica se llama herencia. La
herencia es precisamente uno de los puntos clave de este tipo de lenguajes.
La herencia nos permite definir una clase como extensin de otra: de esta
manera decimos la clase 1.1 tiene todas las caractersticas de la clase 1 y
adems sus caractersticas particulares. Todo lo que es comn a ambas
clases queda comprendido en la clase superior, mientras lo que es
especfico, queda restringido a las clases inferiores. En nuestro ejemplo
definiramos una clase denominada Vehiculo, de forma que la clase Taxi
tuviera todas las propiedades de la clase Vehiculo, ms algunas propiedades
y mtodos especficos. Lo mismo ocurrira con la clase Autobus y otras que
pudieran heredar de Vehiculo. Podramos seguir creando clases con
herencia en un nmero indefinido: tantas como queramos. Si piensas en el
API de Java, hay cientos de clases que heredan de clases jerrquicamente
superiores como la clase Object. En un proyecto propio, podremos tener
varias clases que hereden de una clase comn.

CHRISTIAN MOYON GOMEZ

LENGUAJE DE PROGRAMACION

BIBLIOGRAFIA:

http://aprenderaprogramar.com/index.php?
option=com_content&view=article&id=651:concepto-o-definicion-deherencia-en-java-programacion-orientada-a-objetos-ique-es-ejemploscu00684b&catid=68:curso-aprender-programacion-java-desdecero&Itemid=188

CHRISTIAN MOYON GOMEZ

Anda mungkin juga menyukai