Sunteți pe pagina 1din 26

Desarrollo de

Aplicaciones con
Manejo de Datos en
la Memoria – JAVA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


2
J java Tabla de Contenido
1. Introducción........................................................................................................... 3
2. Estructura de contenido........................................................................................ 4
3. Definición de objetos ............................................................................................ 5
4. Recordando la herencia ....................................................................................... 5
5. La clase java.lang.Class ....................................................................................... 6
6. Creando un objeto personalizado mediante la clase java.lang.Class .................. 6
7. Creando arreglos con objetos .............................................................................. 8
8. Búsqueda, recorridos optimizados en arreglos .................................................... 8
8.1. Uso del FOR EACH en un recorrido ................................................................. 9
8.2. Búsqueda en un arreglo con FOR EACH y BREAK ........................................ 10
9. Programa de ejemplo ......................................................................................... 10
9.1. Desarrollo ........................................................................................................ 10
9.1.1. Formulario .................................................................................................... 11
9.1.2. Clase Persona .............................................................................................. 12
9.1.3. Clase Control ................................................................................................ 14
9.1.4. Clase Ejemplo Asistencia ............................................................................. 18
10. Material de apoyo ............................................................................................. 22
11. Glosario ............................................................................................................ 23
12. Referencias bibliográficas ................................................................................ 24

13. Control del documento ..................................................................................... 25


Créditos................................................................................................................... 26
Creative Commons ................................................................................................. 26
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
3
J java

1. Introducción

En los anteriores resultados de aprendizaje, se han


tratado los arreglos unidimensionales y multidimensionales
hechos a partir de tipos de datos primitivos, haciendo que
en este punto del curso, se tengan dos herramientas muy
potentes que ayudan en el desarrollo de cualquier solución
agregando dinamismo al tratamiento de datos.

No obstante, aún falta por analizar otra de las herramientas


más potentes del lenguaje, es decir, los objetos. En Java
se puede considerar objeto a todo elemento que se pueda
crear, puesto que todas las clases en el lenguaje heredan
directamente de la súper clase Object, haciendo que estas
tengan un alto nivel y puedan ser instanciados incluso en
arreglos de cualquier dimensión. En este Resultado, se
tratarán los arreglos unidimensionales y multidimensionales
realizados a partir de las clases propias de Java y las
implementadas por el programador.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


4
J java
Arreglos de objetos
2. Estructura de contenido

creados a partir de

Clases u objetos
Java
Object Java.Lang.Class
tipos de datos

cualquier tipo de
objeto creable
Unidimensionales Multidimensionales
se ordenan en

se almacena en

HEAP MEMORY
Nursery oo
Nursery
y Espacio viejo u
efermeria
efermeria se divide en old space

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


5
J java
3. Definición de objetos afirmar que un objeto es una variable con un tipo
de dato especificado por una clase.
Normalmente un programa Java en su
funcionamiento crea muchos objetos, algunos Sznajdleder en su publicación “Java a fondo” dice:
conocidos por el programador y otros no, estos “Java es un lenguaje fuertemente tipado. Esto
interactúan entre ellos a través del uso de significa que a todo recurso que se vaya a
atributos y métodos ya sean propios del lenguaje utilizar previamente se le debe definir su tipo de
o creados por el desarrollador, éstos están datos.
encaminados a ser usados para que una interfaz Definición 1: se le llama “objeto” a toda variable
gráfica funcione, exista una conexión de red o se cuyo tipo de datos es una “clase”.
pueda almacenar una canción o sonido que se Definición 2: se le llama “clase” a una estructura
reproducirá a la interacción con el usuario; así se que agrupa datos junto con la funcionalidad
le puede llamar objeto a todo aquel elemento que necesaria para manipular dichos datos.”
por su naturaleza tenga atributos y métodos que (Sznajdleder, 2013, pág. 38)
permitan la interacción entre ellos para llegar a un
fin específico. 4. Recordando la herencia

Un ejemplo claro de esto puede ser un objeto de Uno de los pilares de la programación orientada a
tipo “automóvil” que al igual que su equivalente objetos es la capacidad de reutilización de código
en el mundo real, tiene diferentes métodos que ya existente en una clase, para éste propósito, uno
permiten su manipulación, características y de los mecanismos más usados es la herencia
atributos que lo identifican entre un mar de objetos que permite a una clase hija obtener atributos y
de tipo “automóvil”. Dichas características son las métodos de una clase padre o súper clase y así
mismas de lo que en los lenguajes de programación sucesivamente con cada clase descendiente de
se conocen como clases, por lo que es válido esta.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


6
J java
Prieto Saez & Casanova Faus (2016) definen a la a hacer que un objeto se pueda comportar muy
herencia en su publicación como: “Especificamente, similar o igual a otro sin ser del mismo tipo, esto es
la herencia en Java es un mecanismo que permite lo que se conoce como polimorfismo en Java.
modelar relaciones jerárquicas entre clases (o de
tipo es un(a));” (Empezar a programar usando 6. Creando un objeto personalizado mediante
Java (3a. ed.), pág. 27). Con lo anterior, es posible la clase java.lang.Class
afirmar que: ya que toda clase en Java hereda de
la súper clase Object, entonces cualquier variable Crear un objeto personalizado con la clase Class
creada a partir de una clase se considera un es tan sencillo como se requiera el comportamiento
objeto también por lo cual de esta se pueden crear del mismo, es decir, mayor complejidad en el
arreglos”. comportamiento implicará mayor complejidad en
la creación del objeto, pero al referir “complejidad
5. La clase java.lang.Class en la creación del objeto” se quiere dar a entender
que la complejidad radica en la creación de la clase
La clase Class de Java, es la forma de crear clases personalizada.
personalizadas y por ende de crear objetos de
cualquier tipo personalizado con atributos y métodos
específicos a la necesidad de programación que la
solución que se desarrolla requiera. En su jerarquía
esta clase heredada directamente de Object, lo
que hace que las clases personalizadas estén en
un nivel superior al de los tipos de datos primitivos.
También permite al programador crear interfaces
que hacen que otras clases se vean obligadas a
adquirir un determinado comportamiento llegando

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


7
J java
La siguiente porción de código muestra una clase }
personalizada llamada “Persona” en la que se
tienen 2 atributos, un constructor por defecto, un public void setNombre(String nombre) {
constructor personalizado y los métodos básicos this.nombre = nombre;
de modificación de los mismos: }

package UnidadTres; public Date getFechaNacimiento() {


import java.util.Date; return fechaNacimiento;
public class Persona { }
// Atributos de la clase
private String nombre; public void setFechaNacimiento(Date
private Date fechaNacimiento; fechaNacimiento) {
//Constructor por defecto this.fechaNacimiento =
public Persona() { fechaNacimiento;
} }
//Constructor personalizado }
public Persona(String nombre, Date
fechaNacimiento) { Una vez se ha creado la clase, en donde se requiera
this.nombre = nombre; crear el objeto bastará con escribir una variable
this.fechaNacimiento = fechaNacimiento; con el tipo de dato “Persona” de la siguiente forma:
} Persona nombreVariable = new Persona();

//Métodos para el manejo de los datos En este punto ya se tiene un objeto personalizado
con tipo de dato Persona y de nombre
public String getNombre() { “nombreVariable”.
return nombre;

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


8
J java
7. Creando arreglos con objetos 8. Búsqueda, recorridos optimizados en
arreglos
Retomando el ejemplo anterior, una vez se ha Como ya se ha tratado antes, es posible recorrer
creado una clase cualquiera que se desee usar en los arreglos mediante la anidación de estructura
la solución, se puede proceder a crear arreglos de repetitiva como el ciclo “for”, while, do while entre
objetos incluso del tipo “Persona”. Sabiendo que otros que requieren gran especificación como
los objetos se crean a partir de las clases, tipos tamaños y límites dentro de los cuales debe
de datos como String, Double, Integer entre otros, trabajar la estructura para realizar dicho recorrido.
que inician con mayúsculas son clases al igual que Java ofrece al programador palabras reservadas
la implementada en el ejemplo, pero estos son adicionales, las cuales permiten optimizar los
propios del lenguaje Java por lo que arreglos como recorridos y las búsquedas en los arreglos, sin
String[], Double[][], Integer[]. importar su tipo de dato o dimensión, en este caso
se expone al aprendiz el uso de dos de las más
Cuando se crea un objeto de una clase útiles que se pueden aplicar cuando se trabaja con
personalizada, la idea de crear el arreglo es arreglos, el “for each” y “break”.
exactamente la misma. Es decir, con la clase
Persona el vector o matriz se puede escribir El “for each” es conocido también como “for
Persona[] arregloPersonas = new Persona[tamaño] extendido” y en esencia es un ciclo for tradicional
donde “Persona[]” es el tipo de dato indicando un en el cual se puede especificar un tipo de dato
arreglo unidimensional, “arregloPersonas” es el para almacenar temporalmente lo valores que se
nombre de la variable y “new Persona[tamaño]” encuentran en un arreglo mientras se realiza algún
reserva un espacio en la memoria Heap, capaz de tipo de tratamiento específico como búsquedas o
almacenar la cantidad de “personas” que diga la recorridos lineales para obtener información.
variable tamaño.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


9
J java
La palabra reservada break (en español, freno, y cuál es el límite final de iteración, optimizado el
parada, descanso, ruptura) es aplicada a cualquier mismo código mediante el uso de la estructura
estructura de control y se usa cuando se quiere FOR EACH ya no será necesario indicar inicio o fin
detener un proceso o iteración a gusto del pues esta automáticamente toma dichos valores,
programado. contrario a lo que debería ser, se especifican
dos parámetros de funcionamiento, una variable
8.1. Uso del FOR EACH en un recorrido temporal con el tipo de dato del arreglo y otra que
contiene los datos que se desean listar, es decir el
Considere una situación en la que tiene que arreglo de personas:
realizar una lista con los nombres de 40 personas
almacenadas en un arreglo unidimensional, un String listaNombres = “”;
recorrido con un ciclo “for” para obtener información for(Persona p : arregloPersonas){
va a requerir de una variable como lista, el arreglo listaNombres += p.getNombre()+”\n”;
de personas y la estructura de control de la }
siguiente manera:
Se puede observar en este caso que no se
String listaNombres = “”; utilizaron índices ya que, en el ciclo, por cada
for(int i =0; i< arregloPersonas.length; iteración se asigna a la variable p el contenido
i++){ directo de la posición en donde se encuentra la
listaNombres += arregloPersonas[i]. repetición, es decir la variable p se vuelve una
getNombre()+”\n”; copia temporal exacta de lo que en el caso anterior
} seria arregloPersonas[i].

En el ejemplo anterior, puede observar que la


estructura de control le indica dónde se debe iniciar

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


10
J java
8.2. Búsqueda en un arreglo con FOR EACH y resultado, la palabra break termina el ciclo for sin
BREAK importar en que iteración se encuentre y permite al
método retornar el valor encontrado.
Una búsqueda en un arreglo no es más que un
recorrido en el cual se encuentra la coincidencia
y se detiene el ciclo para retornar el elemento 9. Programa de ejemplo
encontrado, esto visto en un método se representa
de la siguiente manera: El SENA realizará una capacitación en la que
se aspira a que asistan aprendices de todos los
public Persona buscarPersona(Persona[] programas de formación, para lo cual solicitan que
arregloPersona, String idBusqueda){ se cree un programa que permita registrar a un
Persona resultado = null, determinado número de asistentes obteniendo de
for(Persona p : arregloPersona){ ellos. El nombre, el apellido, la identificación, la
i f ( p . g e t I d e n t i f i c a c i ó n ( ) . fecha de nacimiento, la dirección y el programa de
equals(idBusqueda)){ formación al que pertenece. El programa deberá
resultado = p; permitir ver la lista de asistentes en cualquier
break; momento y al finalizar el registro y limpiar los
} campos en cualquier momento los datos se deberán
} agrupar por persona en un arreglo unidimensional.
return resultado;
} 9.1. Desarrollo

El método anterior, permite realizar la búsqueda de Para iniciar la solución se plantea la siguiente
un objeto persona que contenga una identificación estructura de clases requeridas para el
especificada, en caso de que se encontrara el funcionamiento del programa:

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


11
J java
• Formulario: se debe usar uno para capturar los necesarios para cubrir los datos y 3 botones; uno
datos de la persona que se desea registrar. para guardar el asistente, el otro para limpiar los
• Una clase persona permite crear los objetos que campos en cualquier momento y otro que permite
contienen todos los datos de cada asistente. ver el listado de asistentes al evento realizado por
• No se debe usar un único tipo de dato en la el SENA.
clase persona, exceptuando la identificación, se
debe usar números para los campos numéricos,
cadenas para los campos de texto y fechas para
los campos de fecha.
• Una clase control que se encarga de orquestar
el funcionamiento del programa incluyendo el
comportamiento de botones, listas y demás
elementos.
• Finalmente una clase que permita el inicio de
todo el programa, aquí es donde se pregunta la
cantidad de personas y se envía por parámetro
a la clase control dicho valor.

9.1.1. Formulario

Ya que el formulario puede ser generado


automáticamente de acuerdo al editor de código
que se usa, la imagen 1 presenta el resultado del
formulario solicitado, en ella se aprecian los campos

Figura 1. Registro de asistencia


Fuente: SENA
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
12
J java
9.1.2. Clase Persona // CONSTRUCTOR PERSONALIZADO DE LA
CLASE
Luego se procede a crear la clase persona public Persona(String nombres, String
con los datos solicitados (nombres, apellidos, apellidos, String identificacion, Date
identificación, fecha de nacimiento, programa fechaNacimiento, String direccion, String
de formación, etc.), dos constructores: uno por cursoFromacion, int numeroVisitante) {
defecto y otro personalizado, y los respectivos this.nombres = nombres;
métodos personalizados para el acceso a los this.apellidos = apellidos;
datos almacenados en el objeto que de esta clase this.identificacion = identificacion;
se cree. this.fechaNacimiento = fechaNacimiento;
package UnidadTres; this.direccion = direccion;
import java.util.Date; this.cursoFromacion = cursoFromacion;
public class Persona { this.numeroVisitante = numeroVisitante;
// VARIABLES PARA USAR EN LA CLASE }
private String nombres;
private String apellidos; // METODOS PARA EL COMPORTAMIENTO Y
private String identificacion; ACCESO A LOS DATOS DEL OBJETO
private Date fechaNacimiento; public String getNombres() {
private String direccion; return nombres;
private String cursoFromacion; }
private int numeroVisitante;
public void setNombres(String nombres)
// CONSTRUCTOR POR DEFECTO DE LA CLASE {
public Persona() { this.nombres = nombres;
} }

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


13
J java
public String getApellidos() { public String getDireccion() {
return apellidos; return direccion;
} }

public void setApellidos(String apellidos) public void setDireccion(String direccion)


{ {
this.apellidos = apellidos; this.direccion = direccion;
} }

public String getIdentificacion() { public String getCursoFromacion() {


return identificacion; return cursoFromacion;
} }

public void setIdentificacion(String public void setCursoFromacion(String


identificacion) { cursoFromacion) {
this.identificacion = identificacion; this.cursoFromacion = cursoFromacion;
} }

public Date getFechaNacimiento() { public int getNumeroVisitante() {


return fechaNacimiento; return numeroVisitante;
} }

public void setFechaNacimiento(Date public void setNumeroVisitante(int


fechaNacimiento) { numeroVisitante) {
this.fechaNacimiento = fechaNacimiento; this.numeroVisitante = numeroVisitante;
} }
}

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


14
J java
9.1.3. Clase control como el formulario (tipo de dato Formulario), la
variable persona, y el arreglo de tipo Persona que
En esta clase se alberga toda la esencia, aquí se contendrá los asistentes.
explicará paso a paso lo que se ha hecho y cómo
se usaron los arreglos en la solución: public class Control implements
Inicialmente se declara el paquete y las ActionListener {
importaciones necesarias para que la clase pueda
controlar los demás elementos del programa como private Formulario formulario;
lo son la vista (Formulario, sus botones y campos) private Persona persona;
y el modelo (en este caso los arreglos). private int contador;
private int cantidad;
package UnidadTres; private String listaPersonas;
private Persona[] arregloPersonas;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; Se crea un constructor personalizado en el cual
import java.util.Date; se solicita que al crear un objeto de tipo control
import javax.swing.ImageIcon; se especifique una cantidad, esta es el número
import javax.swing.JOptionPane; de asistentes que se registrarán. El constructor
también parametriza cosas cómo: iniciar un
Luego se procede a declarar la clase que se contador de personas en 0, igualar las variables de
llamará “Control”, la cual implementa la interfaz cantidad a lo ingresado por el usuario en la clase
ActionListener (en español, Escucha de acciones), que inicia el programa, crea el arreglo de personas
encargada de permitir el control y funcionamiento reservando en memoria la cantidad ingresada,
de los botones que hay en el formulario, todas crea el formulario y especifica que sus botones se
las variables necesarias para el funcionamiento valen de la clase control para realizar las acciones.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


15
J java
public Control(int cantidad) { public void iniciar() {
this.contador = 0; if (formulario == null) {
this.cantidad = cantidad; formulario = new
this.arregloPersonas = new Formulario();
formulario.setVisible(true);
Persona[this.cantidad];
} else {
this.formulario = new
formulario.setVisible(true);
Formulario(); }
this.formulario.setIconImage(new }
ImageIcon(getClass().getResource(“sena.
png”)).getImage()); Se crea un método encargado de obtener los datos
this.formulario.getBtnGuardar(). de la persona registrados en el formulario mediante
addActionListener(this); los métodos que éste ofrece para dicho objetivo y
this.formulario.getBtnLimpiar(). crea un objeto “Persona” donde se almacenarán
dichos datos para retornarlos y poderlos usar en
addActionListener(this);
otros lados de la clase.
this.formulario.
getBtnVerListaPersonas(). public Persona obtenerPersona() {
addActionListener(this); contador++;
this.formulario.getLblLimite(). formulario.getLblCantidadVisitantes().
setText(“de “ + cantidad); setText(String.valueOf(contador));
} persona = new Persona();
persona.setNombres(formulario.
Se crea un método iniciar que se encargará de getTxtNombre().getText());
mostrar el formulario en cuanto sea llamado en el persona.setApellidos(formulario.
objeto de tipo Control. getTxtApellidos().getText());

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


16
J java
persona.setIdentificacion(formulario. formulario.getTxtApellidos().setText(“”);
getTxtId().getText()); formulario.getTxtId().setText(“”);
persona.setFechaNacimiento(new formulario.getTxtFechaNacimiento().
Date(formulario.getTxtFechaNacimiento(). setText(“”);
getText())); formulario.getTxtDireccion().setText(“”);
persona.setDireccion(formulario. formulario.getTxtProgramaFormacion().
getTxtDireccion().getText()); setText(“”);
persona. }
setCursoFromacion(formulario.
getTxtProgramaFormacion().getText()); Después se crea un método encargado de crear la
lista de personas que aparece al terminar la captura,
persona.
se observa en el que se usó la estructura for each
setNumeroVisitante(contador); para escribir la cadena que representa la lista que
return persona; se mostrará al usuario cuando la solicite o termine
} de ingresar los datos, todo mediante un recorrido
normal del arreglo de personas; en el ensamblado
Luego se crea un método encargado de limpiar de la lista se puede observar que se tiene una
todos los campos de texto del formulario, este se condición en la que si la variable p (que contiene
usará en el botón limpiar para vaciar los campos una copia exacta de la posición de arreglo) está en
en cualquier momento y en el botón guardar luego estado null entonces se omite en la lista, permitiendo
de almacenar la persona solicitada. que se evite entrar a los campos vacíos del arreglo.

public void limpiar() { public void listarPersonas() {


listaPersonas = “”;
formulario.getTxtNombre().setText(“”);
for (Persona p : arregloPersonas) {

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


17
J java
if (p != null) { Se crea el método verificar, encargado de revisar
listaPersonas += p.getNombres() la cantidad de asistentes registrados en el evento,
+ “ “ + p.getApellidos() cuando la cantidad es igual al contador se informa
+ “ con identificación: “ + al usuario que ha terminado y se procede a cerrar
el formulario y mostrar el listado final de asistentes
p.getIdentificacion()
a través de un cuadro de diálogo.
+ “, es el visitante “ +
p.getNumeroVisitante() + “\n”; public void verificar() {
} if (contador == cantidad) {
} JOptionPane.showMessageDialog(
if (listaPersonas == “”) { formulario.getRootPane(),
JOptionPane.showMessageDialog( “Se han registrado todos
formulario.getRootPane(), los asistentes”,
“No hay asistentes en la lista “Ha finalizado”,
JOptionPane.WARNING_MESSAGE);
para mostrar.”,
formulario.dispose();
“Listado de personas”,
formulario = null;
JOptionPane.WARNING_MESSAGE); listarPersonas();
} else { }
JOptionPane.showMessageDialog( }
formulario.getRootPane(),
listaPersonas, Finalmente, se sobrescribe el método
“Listado de personas”, actionPerformed (obligatorio por implementar
JOptionPane.INFORMATION_MESSAGE); la interfaz ActionListener) en donde se detalla el
comportamiento de cada uno de los botones del
}
formulario. En la primera sentencia if se obtiene la
}
persona y se guarda en el arreglo, en la posición

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


18
J java
que lleve el contador, luego se limpian los campos 9.1.4. Clase ejemplo asistencia
y se procede a verificar si se ha alcanzado o no
el límite; en la segunda sentencia if se hace un Por último, se crea la clase EjemploAsistencia
llamado al método limpiar que se encarga de vaciar con un único propósito, solicitar una cantidad
los campos y por último, en la sentencia if final se determinada de asistentes y enviarla al objeto de
muestra la lista en el botón ver lista en cualquier tipo control que se encarga de iniciar el formulario
momento llamando al método listarPersonas(); donde se registran los datos, dicho envío se realiza
mediante el uso del constructor personalizado que
@Override se creó en la clase control.
public void actionPerformed(ActionEvent
e) { package UnidadTres;
if (e.getSource() == formulario. import javax.swing.JOptionPane;
getBtnGuardar()) { public class EjemploAsistencia {
arregloPersonas[contador] =
obtenerPersona(); public static void main(String[] args) {
limpiar(); int cantidadAsistentes = 0;
verificar();
} else if (e.getSource() == cantidadAsistentes = Integer.
formulario.getBtnLimpiar()) { parseInt(
limpiar(); JOptionPane.showInputDialog(
} else if (e.getSource() == null,
formulario.getBtnVerListaPersonas()) { “¿Cuántos asistentes desea
listarPersonas(); registrar?”,
} “Registro de asistencia”,
} JOptionPane.QUESTION_MESSAGE));
} if (cantidadAsistentes < 0) {

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


19
J java
cantidadAsistentes = 4; Luego aparece el formulario de ingreso de datos
} en donde se observan los botones que operan
Control control = new el programa y en la esquina inferior izquierda la
Control(cantidadAsistentes); cantidad de asistentes registrados (imagen 3).
control.iniciar();
}
}

Cuando se ha terminado de codificar, el resultado


visto en imágenes deberá ser el siguiente:
primero aparece un cuadro de diálogo (imagen 2)
solicitando la cantidad de asistentes al evento.

Figura 2. Registro de asistencia


Fuente: SENA
Figura 3. Registro de asistencia 2
Fuente: SENA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


20
J java

Si se presiona el botón ver lista de personas Una vez se ha iniciado la captura de datos, en
cuando no se ha registrado ningún asistente, se cualquier momento que se presione nuevamente
podrá observar un cuadro que advierte que no el botón ver lista de asistentes, entonces se podrá
hay asistentes, esto debido a que el arreglo que observar un cuadro de diálogo (imagen 5) con los
almacena las personas aún no presenta valores asistentes actualmente registrados.
(imagen 4).

Figura 4. Listado de personas Figura 5. Listado de personas 2


Fuente: SENA Fuente: SENA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


21
J java
Cuando se ha terminado de capturar los datos,
el programa informa y luego muestra la lista con
todos los participantes (imágenes 6 y 7) se puede
dar por terminado el programa.

Figura 7. Listado de personas 3


Fuente: SENA

Todos los ejemplos los puede descargar en la


sección de material complementario de esta unidad.
Encontrará un archivo comprimido .ZIP con las
clases de Java y los archivos de imagen y sonido
Figura 6. Registro de asistencia 3 usados.
Fuente: SENA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


22
J java

ap oyo
l de los
at eria a r
10. M l e
t
men dquirido
s
p
com eptos a nto, se
Pa r a
t e s conc docume ndices
en te pre
difer presen l o s a guientes
l a si
en e ienda os
m l
reco ltar
u de
cons entos: u ía
u m r q
doc era
c i a . J ject.
n
a here clase ob .
• L
s e s ,l a
g r a mas
cla pro
l a s es y
• ,c
O b j etos

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


23
J java

11. Glosario
ABCD Arreglo: es un conjunto ordenado de datos
organizados de forma que se pueda acceder
mediante un nombre de variable y uno o más
índices.

Herencia: es la relación entre una clase padre y


otra clase que se puede denominar hija, a través
de esta es posible crear clases derivadas a partir
de una clase base o súper clase, obteniendo
automáticamente métodos y atributos entre clases,
subclases y objetos.

Índice: es el valor que señala la posición dentro


del vector que se accede.

Objeto: es un elemento dentro de un programa


que consta de estado, comportamiento, atributos
y métodos.

Polimorfismo: capacidad que tiene un objeto para


comportarse de manera igual o similar a otro de
diferente clase.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


24
J java

12. Referencias bibliográficas

Flórez Fernández, H. A. (2012). Programación orientada a objetos usando java. Ecoe Ediciones.

Oracle. (2015). Objects (The Java™ Tutorials > Learning the Java Language > Classes and
Objects). Recuperado de Objects: https://docs.oracle.com/javase/tutorial/java/javaOO/
objects.html

Oracle. (2016). Oracle >Object (Java Plataform SE 7). Recuperado de Object (Java Plataform
SE 7): https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Prieto Saez, N., & Casanova Faus, A. (2016). Empezar a programar usando Java (3a. ed.).
Valencia, España: Editorial de la Universidad Politécnica de Valencia.

Sznajdleder, P. A. (2013). Java a fondo : estudio del lenguaje y desarrollo de aplicaciones.


Buenos Aires, Argentina: Alfaomega.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


25
J java
13. Control del documento

Nombre Cargo Dependencia Fecha

Autor Mauricio Experto SENA Septiembre


Campuzano temático 2017

Se modificó y actualizó el
contenido a la versión 8
Cambios de JAVA y se reformuló el
contenido de explicativo
de los arreglos y el modo
de almacenamiento en
memoria de los elementos
de un programa JAVA

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


26
J java Créditos Senior Equipo de Adecuación
Equipo de Adecuación Gráfica Claudia Rocio Varón Buitrago
Centro de Comercio y servicios
SENA Regional Tolima Asesor Pedagógico
Línea de Producción Ricardo Palacio Peña

Guionistas
Director Regional
Genny Carolina Mora Rojas
Félix Ramón Triana Gaitán
Jesús Bernardo Novoa Ortiz

Subdirector de Centro
Diseño y Diagramación
Álvaro Fredy Bermúdez Salazar Diana Katherine Osorio Useche
Ismael Enrique Cocomá Aldana
Coordinadora de Formación Profesional
Gloria Ines Urueña Montes Programadores
Davison Gaitán Escobar
Experto temático Héctor Horacio Morales García
Mauricio Eduardo Campuzano Méndez Oscar Daniel Espitia Marín

Creatives commons
Atribución, no comercial, compartir igual.
Este material puede ser distribuido, copiado y exhibido por terceros
si se muestra en los créditos. No se puede obtener ningún beneficio
comercial y las obras derivadas tienen que estar bajo los mismo
términos de licencia que el trabajo comercial.

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

S-ar putea să vă placă și