Академический Документы
Профессиональный Документы
Культура Документы
1. INTRODUCCIÓN
La característica básica de la programación orientada a objetos es el objeto; algo que hace 20
años escapaba de nuestra comprensión. Un nuevo paradigma, el cual daba un giro a la forma
en que habíamos sido educados en el mundo de la programación.
Hoy parece sencillo; un objeto; unas características, y todo esto asociado a un solo ente el cual
es el objeto como tal. Esa entidad es la que encapsula el objeto y sus características; es nuestro
caso de estudio, en pocas palabras lo que da sentido a este paradigma de programación.
2. OBJETIVO DE LA UNIDAD
General:
Específicos:
Arreglos: estructuras homogéneas que contienen varios datos según la dimensión del objeto.
Colecciones: se implementan a través de interfaces. Para nuestro estudio: la interfaz Set y List.
Nuestro motivo de estudio serán las colecciones, por lo que tomaremos en cuenta sus
características principales:
b. Algunas clases que la implementan: Vector, Hashtable, LinkedList, ArrayList; entre otros.
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
Los métodos principales para recorrer colecciones son: a través de la interfaz Iterator y por un
bucle for-each.
b. La interfaz Iterator tiene el método iterator, que devuelve un objeto del tipo de la
interfaz para recorrer la colección.
c. Recorre secuencialmente los elementos de una colección. Sus métodos de instancia son:
A continuación un ejemplo:
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
Su sintaxis:
int suma = 0;
…..
for(int elemento:arreglo){
suma += elemento;
En este caso la colección nombrada arreglo transfiere sus características en variable elemento;
que al final es la estructura que se recorre, con cada uno de sus objetos.
Su ejecución:
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
Como mencionábamos anteriormente las interfaces principales desde las cuales implementan
las colecciones, son la interfaz Set y List. A continuación mencionaremos las principales
características de cada una de ellas.
- Con el método add, si tratamos de adicionar dos elementos iguales solo guardara uno.
- Para llegar de un elemento a otro hay que pasar por todos los demás elementos.
En este caso Set es la interfaz y TreeSet es la clase que implementa dicha interfaz. La colección
llamada personas es un Set comportándose como un Treeset. Los objetos que se guardan en
cada uno de los elementos son del tipo Contribuyente.
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
Recordemos que Set es una interfaz por lo tanto no puede instanciarse (new).
Su ejecución:
- Añade un nuevo método get(p) donde p es la posición del elemento que queremos
encontrar.
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
import java.util.*;
public class EjemploList {
public static void main(String arg[]) {
int temp = 0;
List<Integer> lp = new ArrayList<Integer>();
// El tipo es List y lo implementamos con ArrayList
// Utilizamos lista genérica…le decimos que contendrá objetos Integer
int sumaaltura = 0;
//llenamos la lista
for(int i=0;i<5;i++) {
lp.add(i); //el compilador convierte el int en Integer
}
//Creamos objeto iterador para recorrer la lista
Iterator it = lp.iterator();
while(it.hasNext()) {
temp = (int) it.next(); //devuelve obj genérico, hay que pasarlo a int.
System.out.println(temp);
sumaaltura += temp;
} //fin while
System.out.println(sumaaltura);
} //fin main
} //fin clase
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
4. IMPLEMENTACION DE CLASES
Como todos sabemos las clases son plantillas con las cuales nosotros creamos objetos. Estas
plantillas tienen sus atributos (características) y sus métodos (operaciones). Cada uno de los
objetos que crean, tienen sus propios valores en dichos atributos.
Atributos: Tienen su propio valor y pueden ser numéricos, string, fecha, boolean, otro objeto,
etc.
Las clases son tipos abstractos de datos y los objetos son las variables de instancia de las clases.
En java para una aplicación de escritorio es necesario que la clase que se va a ejecutar tenga el
método main(); el cual es el que desencadena todas las sentencias del inicio al final.
Mencionaremos puntos que hay que tener en consideración al momento de programar una
clase:
- La clase debe tener el mismo nombre del archivo con el que se guarda; de lo contrario
no se podrá compilar ni ejecutar dicha clase.
- Los constructores tendrán el mismo nombre de la clase. Se crean tantos constructores
como sean necesarios de acuerdo a la cardinalidad del modelo de clases; la diferencia
será la cantidad de parámetros que reciban, para crear las instancias correspondientes
de dicha clase.
- En los constructores y parámetros se acostumbra a dejar el mismo nombre de los
atributos de la clase; por lo tanto es aconsejable el uso de la referencia this para evitar
posibles colisiones.
- Sus atributos pueden ser tipos primitivos de datos (int, float, double, boolean, etc); u
Objetos (String, Date, Contribuyente, Alumno, etc).
- Los atributos deberán tener modificadores de acceso para encapsular los valores que
contienen (public, private, protected). Las buenas prácticas de programación no están
llevando a dejar en deshuso el modificador public para los atributos.
- Buena práctica utilizar los métodos get y set para cada uno de los atributos; de las clases
propiamente del modelo de datos.
- Estos métodos get y set acceden a las variables de instancia de las clases.
Lo anterior permite que nuestras clases sean flexibles para el posterior mantenimiento de las
aplicaciones. Nuestro diseño y programación debe estar orientado al futuro; minimizando
tiempos para reestructuraciones del código.
● UpperCamel, cuando la primera letra de cada una de las palabras es mayúscula. Bajo
este formato se nombran las clases.
Ejemplo: AlumnoMateria.
// constructores
public Piloto(){
//constructor por defecto
}
public Piloto(String nombre){
this.nombre = nombre;
}
} //fin de la clase
4.1 Métodos
Para programar los métodos de nuestras clases hay que tomar en cuenta lo siguiente:
a. Determinar el modificador de acceso. Generalmente es public.
b. Definir el tipo de dato de retorno (puede ser tipo de dato primitivo u objeto). Sino
retorna ningún dato, se utiliza la palabra void.
c. Dar el nombre del método bajo el estándar lowerCamel.
d. Determinar la cantidad, tipo y nombre de los parámetros que recibirá (si es que
necesita)
e. Codificar las reglas del negocio.
f. Si retorno un tipo de dato, utilizar la cláusula return.
float promedio;
return promedio;
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
BIBLIOGRAFIA
1. http://www.androidcurso.com/index.php/tutoriales-java-esencial/462-las-
colecciones-en-java
2. http://tutorial.saviasoft.com/java-basico/html/collection-interface.html
3. http://elvex.ugr.es/decsai/java/pdf/3B-Clases.pdf
4. http://www.jtech.ua.es/j2ee/publico/lja-2012-13/sesion02-apuntes.html
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.
UNIVERSIDAD DE EL SALVADOR EN LÍNEA
FACULTAD DE INGENIERÍA Y ARQUITECTURA
PROGRAMACION III
GLOSARIO TÉCNICO
a. Interfaz Map: representación de una estructura de datos, donde sus elementos están en el
formato clave/valor.
c. Acceso Protected: los alcanza la misma clase, las clases del mismo paquete y las subclases en
una relación de herencia.
Este material ha sido proporcionado al estudiante en el marco de su formación a través de una carrera en línea en la
Universidad de El Salvador. Se han respetado los derechos de autor para su elaboración. El debido uso del mismo es
responsabilidad del estudiante.