Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 1. Introduccion A JAVA
Unidad 1. Introduccion A JAVA
Cuatrimestre 04
Programa de la asignatura:
Programacin Orientada a Objetos I
Unidad 1. Introduccin a JAVA
Clave: 160920414 / 150920414
Tabla de contenidos
Autoevaluacin ......................................................................................................... 34
Evidencia de aprendizaje. Programa en JAVA .......................................................... 35
Autorreflexiones ........................................................................................................ 35
Cierre de la unidad ................................................................................................... 35
Para saber ms ........................................................................................................ 36
Fuentes de consulta ................................................................................................. 36
Propsitos de la unidad
En esta unidad el estudiante lograr:
Distinguir entre programacin orientada a objetos y programacin estructurada.
Reconocer las caractersticas de la programacin orientada a objetos.
Determinar las caractersticas y especificaciones de la programacin en JAVA.
Identificar la organizacin de un programa en JAVA.
Desarrollar programas modulares.
Competencia especfica
Desarrollar un programa bsico para la solucin de problemas matemticos simples
tomando en cuenta el entorno, caractersticas y especificaciones de los programas JAVA
a travs de dicho lenguaje.
Actividad 1. Presentacin
Antes de comenzar el estudio de la asignatura, te invitamos a participar en un foro de
discusin general, creado para que comentes cualquier asunto relacionado con la
asignatura; en l, conocers a tus compaeros de grupo y entre todos podrn apoyarse
para resolver dudas, inquietudes, externar comentarios, etctera.
Para comenzar tu participacin, ingresa a la Actividad 1.Presentacin en el aula.
1.1.1. Abstraccin
De acuerdo a Joyanes, la abstraccin es:
La propiedad de los objetos que consiste en tener en cuenta slo los aspectos ms
importantes desde un punto de vista determinado y no tener en cuenta los restantes
aspectos que no son significativos. Durante el proceso de abstraccin es cuando se decide
qu caractersticas y comportamiento debe tener el modelo. Un medio de reducir la
complejidad es la abstraccin. Las caractersticas y los procesos se reducen a las
propiedades esenciales, dejando de lado los dems detalles no sustanciales. De este modo,
las caractersticas complejas se hacen ms manejables (Joyanes, 2001: 5).
La abstraccin como tal nos sirva para poder pasar del plano material al plano mental.
Ahora bien, cmo se relaciona la abstraccin con la POO? Imaginemos que tenemos un
grupo de tornillos y de dicho grupo un tornillo se podra manejar con un desarmador
especfico, pero tambin con cualquier otro desarmador aunque no sea nuestro, lo mismo
pasa en un sistema software, los mdulos son independientes, pero a la vez funcionan
como un gran modulo del software, es decir podemos partir un gran software para poder
hacerlo en mdulos, esto har ms fcil la identificacin de sus caractersticas bsicas.
1.1.2. Polimorfismo
La propiedad de polimorfismo es aquella en que una operacin tiene el mismo nombre en
diferentes clases, pero se ejecuta de diferentes formas en cada clase. (Joyanes, 2001:
6). Dicho de otro modo es la capacidad que tiene una clase para adaptarse a diferentes
usos sin necesidad de modificarla. As, por ejemplo, la operacin copiar puede darse en
diferentes clases: copiar un libro, copiar un archivo, copiar una actitud, copiar un
comportamiento, copiar en un examen, etc. Siempre se ejecuta una operacin distinta
pero con el mismo nombre copiar. Por tanto:
El polimorfismo es la propiedad de una operacin de ser interpretada
exclusivamente por el objeto al que corresponde.
1.1.3. Encapsulacin
Si bien externamente los objetos pueden parecer iguales, internamente pueden ser muy
distintos. Por ejemplo, si sabes manejar un reproductor de DVD, puedes manejar
cualquier otro reproductor como CD y BLUE RAY, esto es encapsular, los dos
reproductores pueden ser parecidos por fuera, pero por dentro funcionan de diferente
forma.
Esta propiedad permite intercambiar objetos en una operacin; retomando el ejemplo de
los reproductores puedes cambiar la carcasa por una ms moderna o llamativa sin que el
funcionamiento interno se vea afectado.
1.1.4. Herencia
La herencia en el paradigma de la POO es un mecanismo que se utiliza para efectuar la
reutilizacin del software, de modo tal que los programadores pueden crear clases nuevas
a partir de clases ya existentes, tomndolas como base y creando una jerarqua de
clases, de esta manera no se tiene que rehacer todo el cdigo de una clase.
Si se ve de manera ms sencilla, la herencia en programacin funciona de manera similar
a la herencia familiar, por ejemplo, si un pap tiene un hijo que se parece mucho
fsicamente a l, entonces ambos comparten ciertas caractersticas, podemos decir
entonces que el pap le hered sus caractersticas fsicas al hijo.
Las caractersticas de un objeto pueden ser heredadas del objeto que est en el nivel
superior, por ejemplo novillo tiene orejas y cola y su pelo es negro como el de un toro
normal pero su cornamenta es ms delgada y ms fina, el toro y el novillo son parecidos
pero no son iguales.
6
En programacin la herencia se aplica sobre las clases, y tenemos clases padre, de las
cuales de despliegan las clases hijo, que heredar las caractersticas del padre y pueden
tener otras caractersticas ms.
Hasta este punto hemos visto solo los conceptos generales que dan cabida a la POO,
ms adelante en el curso veremos cmo estos conceptos se implementan ya en la
programacin.
la totalidad) en los datos de la aplicacin y los mtodos que manipulan estos datos, en
lugar de pensar estrictamente en trminos de los procedimientos. Si se est
acostumbrado a utilizar la programacin basada en procedimientos (por ejemplo con el
lenguaje C o BASIC), es posible que sea necesario cambiar la forma de disear los
programas o aplicaciones cuando se utiliza Java. Una vez que se experimente lo
poderoso que resulta este paradigma (orientado a objetos), pronto se ajustar a l.
Cuando se trabaja con el paradigma orientado a objetos, una clase es una coleccin de
datos y tiene adems mtodos que operan sobre esos datos. En conjunto, los datos y
mtodos describen el estado y el comportamiento de un objeto.
Java cuenta con un amplio conjunto de clases organizadas en paquetes, que se pueden
utilizar al programar. Proporciona paquetes de clases para la interfaz grfica de usuario
(java.awt), clases que se encargan de la entrada y salida (java.io), funcionalidad de
soporte de red (java.net), entre muchos otros paquetes.
Desde la concepcin inicial del diseo de Java se pens en hacer de este un lenguaje
totalmente orientado a objetos desde la base, a diferencia de otros lenguajes que fueron
adoptando los lineamientos de este paradigma en sus caractersticas, como por ejemplo
C++. La mayora de los elementos disponibles en Java con objetos, con excepcin de los
tipos primitivos y los tipos booleanos. Las cadenas o arrays son en realidad objetos en
java. Una clase es la unidad bsica de compilacin y ejecucin en Java, todos los
programas de Java con clases.
Interpretado. Java es un lenguaje interpretado y necesita un intrprete para ejecutar
programas. El compilador de Java genera bytecode para la Mquina Virtual de Java
(JVM), en lugar de compilar al cdigo nativo de la mquina donde se ejecutar. El
bytecode es independiente de la plataforma y se puede hacer uso de l en cualquier
mquina (no necesariamente una computadora) que tenga un intrprete de Java.
En un entorno donde el lenguaje de programacin es interpretado, la fase estndar de
enlace casi se vera desvanecida. Si java cuenta con esta fase como un todo, es slo
porque el proceso de cargar clases nuevas en el ambiente de ejecucin se hace
precisamente en esta fase, que es un proceso incremental y mucho ms ligero que se
produce en tiempo de ejecucin. Contrastando con el ciclo ms lento y complicado de
compilar-enlazar-ejecutar de lenguajes como C o C++. Los programas Java no necesitan
ser recompilados en una mquina destino. Se compilan en un lenguaje ensamblador para
una mquina imaginaria, denominada mquina virtual (Joyanes y Fernndez, 2001).
Arquitectura Neutral y Portable. Debido a que el lenguaje Java se compila en un
formato de arquitectura propia o mejor dicho neutra llamada bytecode, un programa en
Java puede ejecutarse en cualquier sistema, siempre y cuando ste tenga una
implementacin de la JVM y esta es la caracterstica tal vez ms notable que tenga Java.
11
Se pueden, por ejemplo, ejecutar applets desde cualquier navegador de cualquier sistema
operativo que cuente con una JVM y ms all todava, hacer sistemas autnomos que se
ejecuten directamente sobre el sistema operativo. Esto es particularmente importante
cuando se trabajar con aplicaciones distribuidas por internet o cualquier otro medio de
distribucin donde los usuarios no pueden (deben) tener un cierto sistema operativo
funcionando en la computadora donde se ejecutar dicha aplicacin.
En las aplicaciones que se desarrollan hoy en da, muy probablemente se necesite tener
la misma versin ejecutndose en un ambiente de trabajo con UNIX, Windows o Mac. Y
ms an, con las diferentes versiones de procesadores y dispositivos (celulares, celulares
inteligentes, consolas de video juegos, entre muchos otros) soportados por estos
sistemas, las posibilidades se pueden volver interminables y la dificultad para mantener
una versin de la aplicacin para cada uno de ellos crece de igual manera, interminable.
La misma definicin de bytecode hace que Java sea multiplataforma y no tenga la
necesidad de complicados temas al portar la aplicacin entre dispositivos como tipos de
datos y su longitud, caractersticas y capacidades aritmticas; caso contrario, por ejemplo,
del lenguaje C donde un tipo int puede ser de 16, 32 64 bits dependiendo de la
plataforma de compilacin y ejecucin. Los programadores necesitan hacer un solo
esfuerzo por terminar sus asignaciones, esto se puede lograr apegndose al slogan que
hizo tan famoso Sun: Write Once, Run Anywhere (Escribe una vez, ejecuta donde sea).
Dinmico y Distribuido. Java es un lenguaje dinmico. Cualquier clase construida en
Java puede cargarse en cualquier momento dentro del ejecutor en cualquier momento.
As, si es cargada dinmicamente puede instanciarse de igual manera. Las clases en
Java con representadas por la palabra reservada class se puede obtener informacin en
cualquier momento sobre ellas mediante el run-time.
En cualquier instante de la ejecucin Java puede ampliar sus capacidades mediante el
enlace de clases que est ubicadas en la mquina residente, en servidores remotos o
cualquier sitio de la red (intranet/internet). Caso contrario de lenguajes como C++ que
hacen esto al momento de la compilacin, despus ya no se puede. Se puede extender
libremente mtodos y atributos de una clase sin afectar la ejecucin corriente, las
capacidades descritas se encuentran dentro del API Reflections.
Robusto. Java fue diseado para ser un lenguaje de programacin que genere
aplicaciones robustas. Java no elimina la necesidad del aseguramiento de calidad en el
software; de hecho es muy posible y probable tener errores al programar en Java. No
elimina tampoco la mayora de los errores que se comenten al utilizar cualquier lenguaje
de programacin.
Sin embargo al ser fuertemente tipado se asegura que cada variable o mtodo que se
utilice corresponda en realidad a lo que el programador quiso utilizar y no que se escapen
12
errores en conversin de tipos de dato, por ejemplo. Java requiere declaracin explicita de
mtodos, cosa que no se permite en otros lenguajes, como en C. Java ha sido pensado
en la fiabilidad, eliminando la mayora (o todas) las posibles partes de otros lenguajes de
programacin propensas a errores, por ejemplo elimina los punteros y soporta el manejo
de excepciones en tiempo de ejecucin para proporcionar robustez a la programacin.
Java utiliza recoleccin de basura en tiempo de ejecucin en vez de liberacin explcita de
memoria. En lenguajes como C++ es necesario borrar o liberar memoria una vez que el
programa ha terminado (Joyanes y Fernndez, 2001).
Seguro. Uno de los aspectos ms sobresalientes de Java es el de ser un lenguaje
seguro, lo que es especialmente interesante debido a la naturaleza de la distribucin de
aplicaciones en Java. Sin un aseguramiento el usuario no estar tranquilo de bajar y
ejecutar cdigo en su computadora desde internet o cualquier otra fuente. Java fue
diseado con la seguridad como punto principal y tiene disponibles muchas capas que
gestionan la seguridad de la aplicacin que se escribe, bloqueando al programador si
intenta distribuir cdigo malicioso escrito en lenguaje Java.
Los programadores de Java no tienen permitido cierto tipo de acciones que se consideran
altamente vulnerables o que el tpico caso de ataque contra un usuario comn, por
ejemplo el acceso a memoria, desbordamiento de arreglos entre muchos otros.
Otra capa de seguridad dentro de Java es el modelo sandbox que hace una ejecucin
controlada de cualquier bytecode que llega a la JVM, por ejemplo si se lograr evadir la
regla del cdigo no malicioso al momento de compilar, este modelo en su ejecucin
controlada evitara que las repercusiones lleguen al mundo real.
Por otro lado, otra posible solucin al aspecto de seguridad en Java es que se aade una
firma digital al cdigo de Java, el origen del software puede establecerse con esta firma y
utilizando criptografa se oculta esta firma para que sea inaccesible e inmodificable por
cualquier persona. Si hay confianza en una persona especfica de alguna organizacin,
entonces el cdigo puede ser firmado digitalmente por dicha persona, dndonos la
seguridad que el resultado que recibimos sea de quien debe ser y no haya introduccin de
cdigo por terceras personas ajenas a l.
Por supuesto la seguridad no puede entenderse ni manejar como una cosa que es
totalmente blanca o totalmente negra, deben descubrirse los matices que pueda presentar
y verificar todas las posibles vertientes que puedan tomar los matices, as nos
aseguraremos que todo est controlado. Ningn programa puede dar al 100% la garanta
de la ausencia de errores, tampoco un ambiente de compilacin o interpretacin puede
dar esta garanta. Java no se centra en la correccin de seguridad, se basa en la
anticipacin de los posibles errores que se puedan presentar.
13
Alto Rendimiento. Java es un lenguaje interpretado, por eso no ser igual de veloz en la
ejecucin como un lenguaje compilado como C. En versiones tempranas de Java est
an decenas de veces ms abajo que la velocidad de ejecucin que proporciona C. Sin
embargo con el pasar del tiempo este aspecto ha ido mejorando sobre la base del
compilador JIT (just in time) que permite programas en Java de plataforma independiente
se ejecuten casi tan rpido como los lenguajes convencionales compilados.
Multihilo. Es fcil imaginar cmo funciona una aplicacin que hace mltiples cosas a la
vez, por ejemplo en un navegador web, donde, se hace la descarga al mismo tiempo del
texto, imgenes, videos y dems componentes de la pgina que visitamos, pero esta
descarga se hace por separado, donde una funcin especfica se hace cargo de
descargar las imgenes, otra el texto y as con cada uno de los compontes. Obviamente
lo hacen al mismo tiempo, por esto se dice que es multihilo. Java es un lenguaje multihilo
ya que soporta la ejecucin de mltiples tareas al mismo tiempo y cada uno de esos hilos
puede soportar la ejecucin de una tarea especfica diferente. Un beneficio importante de
esta caracterstica multihilo es el aporte que da a las aplicaciones basadas precisamente
en esto, ya que como se mencion, incrementa el rendimiento de la aplicacin, sobre todo
en aplicaciones basadas en interfaces grficas de usuario.
Aunado a lo anterior y haciendo referencia a la facilidad de Java, programar multihilo en
Java es muy fcil, ya que si se ha tratado trabajar con hilos en C o C++ se notar la
enorme dificultad que esto representa. La clase Thread da el soporte, la facilidad y los
mtodos para iniciar y terminar la ejecucin y hacer uso de los hilos, que a su vez se
encuentra contenida en el nombre de espacio java.lang. La sintaxis del lenguaje Java de
igual manera tiene soporte directo sobre la palabra reservada synchronized la cual hace
extremadamente fcil para marcar secciones de cdigo o mtodos completos que
necesitan ser ejecutados de uno en uno o dicho de mejor manera sincronizados.
14
15
16
Eclipse
Borland JBuilder
NetBeans
Dreamweaver
WebLogic Workshop
Oracle JDeveloper
IntelliJ Idea
JCreator
Nota: Todas las marcas o nombres de productos son propiedad de sus respectivos
dueos y slo se usan a manera de ilustrar el ejemplo expuesto.
Componentes del IDE
Los elementos bsicos de un IDE, pero no limitado a ellos, son:
Un editor de texto, que es el programa o parte del IDE que nos permitir crear,
abrir o modificar el archivo contenedor del cdigo fuente del lenguaje con el que
estemos trabajando. Puede proporcionarnos muchas ventajas sobre un editor de
texto separado del IDE, ya que por lo general cuentan con un resaltado de sintaxis
sobre las partes que conforman el cdigo fuente de la aplicacin que se est
construyendo.
Un compilador, que es el programa o parte del IDE que nos permitir traducir el
cdigo fuente escrito dentro del editor a lenguaje mquina (bytecode en el caso de
Java). De tal manera que el programador pueda disear y programar una
aplicacin utilizando palabras, frases o conceptos muy cercanos al lenguaje que
utiliza normalmente, y el compilador se encargar de traducir estas sentencias en
instrucciones comprensibles por el procesador de la computadora.
17
Un intrprete, que es el programa o parte del IDE que nos permitir hacer la
interpretacin del cdigo compilado (como en el caso de Java), en donde se
toma como entrada el bytecode y el resultado es la ejecucin de las instrucciones
de lenguaje mquina o cdigo objeto contenidas en esta estructura de clases. El
compilador e intrprete pueden trabajar en conjunto como se explica en este
apartado o ser procesos independientes para la ejecucin de un programa.
Un depurador, que es el programa o parte del IDE que nos permitir probar y
localizar errores dentro del cdigo de la aplicacin (mayormente de tipo lgico o de
omisin) haciendo una traza de la ejecucin completa del cdigo y sealando
dnde ser un posible error del cdigo o vulnerabilidad no considerada.
Un constructor de interfaces grficas, que es la parte del IDE que nos facilita una
serie de componentes nativos del lenguaje con el que trabajamos (swing en Java)
para poder ofrecer al usuario un ambiente amigable de tipo visual, en pocas
palabras nos permite crear interfaces grficas de usuario y complementarlas con el
cdigo fuente de nuestra aplicacin.
Opcionalmente la posibilidad de trabajar conectado a un servidor de control de
versiones, que nos permitir llevar un control preciso de cada versin de cada
archivo que comprenda nuestra aplicacin, particularmente til cuando se trabaja
con aplicaciones de tipo empresarial que conllevan, inclusive, miles de archivos de
cdigo fuente y al estar trabajando en grupo se vuelve indispensable esta
funcionalidad que ofrece el IDE.
18
Tamao en bits
8-bit complemento
a2
16-bit
complemento a 2
32-bit
complemento a 2
Byte
Short
Int
64-bit
complemento a 2
Long
Rango de valores
Descripcin
-128 a 127
Entero de un byte
-32,768 a 32,767
Entero corto
-2,147,483,648 a
Entero
2,147,483,647
9,223,372,036,854,775,808L
Entero largo
a
9,223,372,036,854,775,807L
Nmeros reales
Float
Doubl
+/- 3.4E+38F
+/- 1.8E+308
16-bit Carcter
Conjunto de caracteres
Unicode ISO
Verdadero o falo
Conjunto de caracteres
Otros tipos
Char
Booleano
String
true o false
Variable
Un solo carcter
Un valor booleano
Cadena de
caracteres.
// maysculas y minsculas,
// deben empezar por una letra y
// pueden contener nmeros,_,$
byte a = 121;
// Deben ser inferiores a 126
short b = -10000;
// Deben ser inferiores a 25000
int c = 100000;
// Deben ser inferiores a 2100 mill.
long d = 999999999999L; // Deben poner L al final
float e = 234.99F;
// Deben ser < 3E38; F al final
double f = 55E100;
char charValue= '4'; // char '4' no es el entero 4
//Las cadenas (strings) son objetos, no primitivos.
//Ejemplo:
String institucion = esad;
}
}
Datos de
una casa
Tipo
Datos de
#_pisos
#_cuartos
#_ventanas
#_baos
Fondo
#_puertas
#_cilindros
#_hp
colorCarroceria
#_placas
20
un auto
Tipo
Datos de
una
factura
Tipo
Datos de
un
zapato
Tipo
Datos de
una
computa
dora
Tipo
#_folio
total
nombreCliente
nombreEmpresa
Iva
punto
material
Tacn
color
#_estilo
Marca
procesador Memoria
pantalla
discoDuro
Significado
Incremento
Decremento
Unario + (smbolo positivo)
Asociatividad
Derecha a izquierda
Derecha a izquierda
Derecha a izquierda
21
Derecha a izquierda
Izquierda a derecha
Izquierda a derecha
Izquierda a derecha
Izquierda a derecha
Izquierda a derecha
Descripcin
Igual (comparacin de igualdad)
Mayor que
Menor que
Conjuncin lgica (and)
Distinto
Mayor o igual que
Menor o igual que
Disyuncin lgica (or)
22
Uso
a += b
a -= b
a *= b
a /= b
a %= b
a &= b
Equivalente a
a=a+b
a=ab
a=a*b
a=a/b
a=a%b
a=a&b
Operadores de bit
Dan la posibilidad de manipular los bits de los datos, especialmente el desplazamiento.
Operador
>>
Uso
a >> b
<<
a << b
>>>
a >>> b
Operacin
Desplaza los bits de a a la
derecha b veces
Desplaza los bits de a a la
izquierda b veces
Desplaza los bits de a a la
derecha b veces
(omitiendo el signo)
23
La funcin especfica de este tipo de operadores es desplazar los bits del operando
ubicado a la izquierda de la expresin el nmero de veces que indique el operador de la
derecha. La direccin del operador indica hacia donde corrern los bits. La siguiente
sentencia nos da a entender bien el concepto que se trata de implementar, al desplazar
los bits del entero 25 a la derecha de su posicin:
25 >> 2
El nmero entero 25 est representado por el nmero 11001 en notacin binaria, al
aplicarle el operador de desplazamiento el nmero 11001 ahora se convertir en 110 o el
nmero entero 6. El lector debe notar que los bits que se desplazan a la derecha se
pierden al efectuar esta operacin.
Precedencia de operadores
Java asigna (como se hace en las operaciones matemticas normales) una importancia
muy alta a la precedencia de los operadores. En la siguiente tabla se lista esta
precedencia y entre ms alta sea su posicin, ms importancia tendr:
Operadores
Operadores posfijos
Operadores unario
Creacin o conversin
Multiplicacin
Suma
Desplazamiento
Comparacin
Igualdad
AND a nivel de bit
OR a nivel de bit
XOR a nivel de bit
AND lgico
OR lgico
Condicional
Asignacin
Representacin
[], (), a++, a-++a, --a, +a, -a, ~, !
new(tipo) a
*, /, %
+, <<
==
==, !=
&
^
|
&&
||
?:
=, +=, -=, *=, /=, &=, ^=, |=, <<===
24
Actividad 5. Operadores
Durante esta actividad realizars un ejercicio donde recuperes lo que has aprendido
acerca de los operadores soportados por JAVA. Realiza lo siguiente:
1. En un archivo de texto, copia las operaciones dadas en la Tabla 2.
2. Completa los datos que se solicitan en las columnas vacas. Para ello, identifica
los operadores encontrados en cada operacin, su tipo de operador y el resultado
de dicha operacin.
3. Guarda la actividad con el nombre POO_U1_A4_XXYZ, sustituye las XX por las
dos primeras letras del primer nombre, la Y por la inicial del apellido paterno y la Z
por la inicial del apellido materno.
4. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.
#
1
2
3
4
5
Operacin
Tabla 2
Operadores
Tipo de
encontrados operadores
Resultado
(3 + (2 *3) -12) / 3
P: Verdadero
Q: Falso
PyQ
10> 5 >6
(((200 +305)/56)*30)<12
P: 3+9<10
Q:30 -64 > - 40
PoQ
25
((A)array[0]).metodoDeA();
Obviamente no puedes convertir cualquier tipo a cualquier tipo. Si intentas convertir
array[0] a B, te dar error, salvo que A herede de B. Pero estos casos ms complejos los
trataremos ms adelante.
escribir el cuerpo del comentario de una sola lnea. Cuando hay la necesidad de hacer
observaciones muy amplias y que una lnea no nos d el espacio suficiente se sugiere
utilizar comentarios de varias lneas, por ejemplo;
/*
Este es un comentario muy amplio y se puede hacer con la utilizacin de varias lneas sin
perder la continuidad de la idea e indicndole al compilador que ignore por completo todas
las lneas que lo comprenden.
*/
De igual forma que en los comentarios de una sola lnea, los comentarios multilnea
comienzan con el par de caracteres /* y terminan con el par de caracteres */.
Adems en Java existe un tercer tipo de comentario que se le conoce como comentario
de documentacin y este tipo la funcin que tienes es que le indica al programa
generador de documentacin que lo incluya a l e ignore de los dems, por ejemplo:
/** Comentario de documentacin del programa */
El lector debe notar que la forma de comenzar el comentario es ligeramente diferente al
comentario multilnea, ya que ahora se incluye un asterisco ms, para quedar como /**.
La forma de terminarlo es la misma.
Como sugerencia sobre los comentarios se debe hacer notar que, la necesidad de escribir
comentarios es para la aclaracin de ciertas partes del cdigo que no estn muy claras,
por tanto si se exagera en el nmero de comentarios se entender que el cdigo no es
claro y se deber considerar la necesidad de reescribirlo para hacerlo comprensible.
Identificadores
Se entender al identificador como aquella palabra o nombre que el programador le
asigna a sus propias variables, mtodos e inclusive nombres de clases y tiene un mbito
de aplicacin e injerencia slo dentro del cdigo fuente, escrito por el programador
humano porque una vez que pasa por el proceso de compilacin, el compilador genera
sus propios identificadores ms acorde y ms ptimos para su propia interpretacin
dentro del bytecode. Como regla general del lenguaje Java se debe definir un identificador
antes de ser utilizado. Siguiendo las reglas que Java establece para la creacin de
identificadores se deber apegar a lo siguiente:
Un identificador comienza por una letra o utilizando el carcter de guin bajo (_) e
inclusive utilizando el smbolo de pesos ($) aunque esto ltimo no se recomienda
ya que, como se explic, el compilador lo utiliza de forma muy frecuente para
formar sus propios identificadores.
Se pueden utilizar a continuacin nmeros (0 al 9). Pero no dejar espacios en
blanco, signo de interrogacin (?) o smbolo de porcentaje (%).
Un identificador puede contener la longitud que el programador asigne
arbitrariamente o considere necesario para dejar perfectamente claro el propsito
del identificador y qu tipo de dato alojar.
29
Do
Doubl
Else
implements
import
instanceof
protected
Public
Rest
Throw
Throws
Transient
31
Byte
Case
Catch
Char
Class
const*
continue
Default
Extends
False
Final
Finally
Float
For
goto*
If
Int
interface
long
native
New
Null
package
private
return
Short
Static
strictftp
Super
switch
synchronized
This
True
Try
Void
Volatile
While
Aunque la definicin del lenguaje Java toma en cuenta todas estas palabras, en su
implementacin no se toman en cuenta todas, las que estn marcadas con un asterisco
an no tienen utilizacin.
Tambin existen palabras reservadas de empleo especfico para nombres de mtodos y
stas son:
Clone
Notify
Equals
notifyAll
finalize
toString
getClass
Wait
hashCode
Ejemplo
package javaapplication1;
import javax.swing.*;
public class JavaApplication1 {
public JavaApplication1(){}
public static void main(String[] args) {
//instrucciones
}
}
Uso
Paquete
import si se requiere
declaracin de la clase
constructor
declaracin del mtodo
cuerpo del mtodo
cierre del mtodo
cierre de la clase
empleado
objetoE
=
New
empleado()
=new empleado();
Autoevaluacin
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta
primera unidad del curso, es necesario que resuelvas la autoevaluacin de la unidad.
Recuerda que es muy importante leer cuidadosamente los planteamientos indicados y
elegir la opcin adecuada para cada uno.
Ingresa al aula para realizar la actividad.
34
Autorreflexiones
Adems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses
al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a)
presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado
POO_U1_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta
Autorreflexiones.
Cierre de la unidad
Has concluido la primera unidad del curso. A lo largo de sta te has introducido a la
programacin orientada a objetos y sus principales caractersticas como abstraccin,
polimorfismo, encapsulacin y herencia; tambin has estudiado la diferencia entre la
orientacin a objetos y la programacin estructurada. Posteriormente te involucraste en
las caractersticas del lenguaje JAVA, sus tipos de datos soportados, tipos de operadores
y conversin de tipos de datos. Estos temas han servido para que vayas conociendo el
ambiente de desarrollo de programas computacionales.
35
Para saber ms
Es importante que instales un IDE en tu computadora personal para que pases todos los
ejemplos de cdigo y veas cmo funcionan, de esta manera podrs analizar el
funcionamiento de los cdigos presentados.
*Nota: se recomienda que instales NetBeans 7.0, como IDE, por su facilidad de uso, este
puede ser descargado gratuitamente de la siguiente liga:
http://netbeans.org/downloads/
Fuentes de consulta
Bibliografa bsica
36
Bibliografa complementaria
37