en la línea 1 para poder ingresar algo por teclado hay que crear una clase y hay que
importarlo
import java. utile.Scanner;
java es un paquete, utile un subpaquete dentro de java, las clases siempre van con
la primera letra en mayúscula (Scanner) y en los metodos siempre van en
minúscula, solo se usa cuando se cambia de parámetro,
Scanner escanea todo lo que se ingresa en el teclado(Solo escanea si son
primitivos los sting) y le asigna en una variable luego de escanearlo
Tipo de dato primitivo en java
Se considera tipo de datos primitivos los siguientes: int, long, byte, float, string(es un
objeto), boolean, char.
métodos de la clase string
.charAT(entero)
este método devuelve el char (caracter) que se encuentra en el índice indicado por
el entero dentro del string
Diagrama conceptuales de objetos o clases
A Través de los casos de uso se puede realizar un diagrama conceptual de los
objetos.
Los diagramas conceptuales son parte del análisis, es decir corresponden a la
fase de análisis y se construyen a través de los casos de uso Este diagrama
refleja las clases de objetos que tendremos en nuestro sistema y las asociaciones
existentes entre dichas clases. Este diagrama pertenece al modelo UML.
REPRESENTACIÓN DE CLASES
Nombre de clase(Obligatorio)
atributos(Opcional, pero deben
estar en el diagrama de
implementacion)
ASOCIACIÓN ENTRE CLASES
Las asociaciones permiten representar los vínculos existentes entre las clases de
objetos que se desprenden del problema y de los casos de uso. Por ejemplo en el
diagrama de clase del sistema de reservas se observan los objetos recepcionista y
reserva, entre otros. Entre dichos objetos existe un vínculo que llamaremos
asociación y que es la acción de realizar una reserva por parte de la recepcionista.
Para representar que la clase A está asociada con la clase de objetos B
hacemos
CLASE A NOMBRE ASOCIACION CLASE B
Si las clases están de arriba a abajo se considera el sentido de la asociación de
arriba a abajo o el que indique la flecha.
Ejemplo: supongamos que una recepcionista realiza 0 o muchas reservas y que una
reserva es hecha por una recepcionista.
RESTRICCIONES DE PARTICIPACIÓN
● * Representa 0 o muchos
● n..* representa n o muchos siendo n un natural mayor que 0
● k..n Representa un rango que va desde k a n
● k,w,z representa a K o W o Z objetos
Clase 24-04-2024
Autoasociación
un objeto puede estar incierto en una realidad donde se vincule con sigo mismos, es
decir se asocie con sí mismo. por ejemplo, supongamos la siguiente realidad. En
una empresa existen empleados y uno de ellos es el jefe de los demás empleados.
Se sabe además que los empleados tienen un solo jefe y que el jefe tiene a cargo a
uno o muchos empleados.
Ejercicio 1- De un documento de requerimiento se extrae el siguiente recorte: de los
equipos se conoce su nombre y de los jugadores su cédula y también su apellido.
Cada equipo está integrado por al menos 11 jugadores pero cada jugador integra
un solo equipo. Además uno de los jugadores de cada equipo es el capitán del
mismo, en un grupo participan 8 equipos, y cada equipo participa en 1 único grupo.
Un equipo puede ganar hasta tres trofeos durante el campeonato pero no todos los
equipos ganan un trofeo, se pide:
a- determinar las clases de objetos que se desprenden de la realidad
b- construir el diagrama conceptual que modele la realidad
Agregación y Composición
Agregación compartida
Es un tipo especial de asociación que representa una relación, tiene un/ una , entre
dos clases de objetos se representa con un rombo blanco del lado de la clase
poseedora. En este tipo de agregación la clase compuesta no requiere para su
existencia de la clase que lo compone además el objeto que compone puede estar
asociado con otra clase de objetos, por eso lo de compartido.
Ejemplo(escrito en el cuaderno): en una institución educativa existen estudiantes
que tienen un tutor, además el tutor puede dictar uno o muchos cursos y un curso
puede ser dictado por un único tutor.
Agregación compuesta (no compartida)
En este tipo de agregación existe dependencia mayor entre la clase de objetos,
compuesta y la componedora, en la agregación compuesta la clase de objetos que
es compuesta requiere para su existencia de la clase de objetos que la compone, en
la agregacion compuesta que compone no puede estar asociada con otra clase de
objetos externa y su representacion en el diagrama es de color negro.
Ejemplo(es el mismo que el anterior solo que sacando cursos y pintando el rombo):
en una institución educativa existen estudiantes que tienen un tutor además no
existen estudiantes sin tutor.
Ejercicio 2- en un taller mecánico se reparan automóviles, cada automóvil está
compuesto por un motor. los motores se pueden intercambiar entre vehículos
también se sabe que los automóviles están compuestos por cuatro ruedas que
también pueden intercambiarse entre automóviles, cada automóvil posee una única
carrocería que solo le pertenece al mismo automóvil, además no existen
automóviles sin carrocería. Se pide realizar el diagrama conceptual.
Agregación de generalización o herencia
La representación del concepto de herencia en objetos implica una clase de objetos
base y clases derivadas, la herencia se representa en UML de la forma siguiente:
informática, Análisis y diseño de Aplicaciones WEB.
las clases derivadas no pueden tener lo que está en la clase base.
Las clases de objetos derivados heredan de la clase de objeto base los atributos y
asociaciones
ejercicio 3- en una institución educativa se cuenta con docentes de los cuales se
sabe el nombre y la cédula. Hay docentes que son adscritos de los que se conoce el
turno, también existen docentes laboratoristas de los que se conoce la especialidad.
Todos los docentes poseen al menos 20 estudiantes a cargo y un estudiante está a
cargo de un docente. Los adscriptos registran cursos un adscrito puede registrar
uno o muchos cursos y un curso es registrado por un único adscripto. Los
laboratoristas trabajan en laboratorios, un laboratorista puede trabajar en uno o
muchos laboratorios y en un laboratorio trabaja un solo docente laboratorista.
Clase 15-05-2024
Diagrama de implementación(Es lo que se programa)
Una vez construido el diagrama de clases conceptuales y desarrollado los casos de
uso, comenzamos a diseñar las clases y los métodos que se implementarían.
Los diagramas de implementación se encuentran en la fase de DISEÑO de la
metodología orientada a objetos, para esto se construye el diagrama de
implementación realizando los siguientes pasos:
1- agregar atributos y tipos
2- completar las clases con los métodos faltantes
3- introducir colecciones de objetos en el diagrama de clases
4-deshacer las clases de asociación
El diagrama de implementación tendrá la información suficiente para implementar
las clases
CONSTRUCTORES
Ejemplo: Vamos a pasar un diagrama conceptual a diagrama de implementación. En
la realidad que se está modelando, se tienen personas de las que se sabe su cédula
que es de tipo entero y su nombre que es de tipo string, el diagrama conceptual
sería el siguiente.
EL SIGNO DE MENOS(-) ES PARA LA PARTE PRIVADA Y EL SIGNO DE MAS (+)
ES PARA LA PARTE PÚBLICA
Colocando los atributos privados que van a ser accedidos a través de los métodos
públicos, esto tiene que ver con la propiedad de encapsulamiento de los objetos.
En el diagrama de implementación también introducimos los tipos, tanto para los
atributos como para los métodos.
Colecciones de tamaño fijo
ESTO ESTÁ EN LA CLASE PERSONA
Clase 22-05-2024
Colecciones Dinámicas
ESTO FUNADAMENTAL PARA DEFENSA DE TALLER 2
Java posee implementada colecciones de tamaño variable que se ajustan en tiempo
de ejecución, es decir podemos agregar o quitar elementos de la misma. Una de
estas colección es ArrayList, dicha colección es polimórfica(para utilizar esta clase
hay que importarlo)
EJEMPLO DE IMPLEMENTACIÓN DE POLIMORFISMO
import java.util.ArrayList;
import java.util.Scanner;
public class ColDinamicas {
public static void main(String[] args) {
ArrayList v = new ArrayList();
Persona p=new Persona(123, "Lucas", 38000);
v.add(10);
v.add("Lucas");
v.add(p);
for(int i=0 ; i<v.size(); i++) {
System.out.println(v.get(i));
}
Declarar ArrayList con un tipo de datos(esto se puede usar en
general)
A esto se le llama tipear
Para tipear el tipo de elementos que tendrá nuestra colección debemos(Para tipear
debemos de hacerlo en el momento de construcción) para el ArrayList< clase tipo
>referencia = new ArrayList<clase tipo> ();
NO SE PUEDE USAR TIPOS PRIMITIVOS COMO INT, FLOAT.
DEBE USAR SIEMPRE UNA CLASE TIPO COMO PERSONA(DECLARAR UN
ARRAYLIST TIPEADO A LA CLASE PERSONA). A dicho arreglo le pondremos la
referencia “v”
Ejemplo:
ArrayList <Persona> referencia = new ArrayList<Persona>();
Clases tipo para los tipos primitivos
int Interger
double Double
String String
float Float
byte Byte
long Long
short Short
Ejemplo
ArrayList <String> Nombre = new ArrayList<String>();
Métodos principales de ArrayList
add: Permite agregar un elemento al ArrayList
size(); Retorna un entero que corresponde a la cantidad de elementos que contiene el
ArrayList Ejemplo(Numero.size(); )
remove(entero); Elimina el elemento del ArrayList que se encuentra en la posición dada por
el entero. ArrayList vuelve a redimensionar tanto cuando agrega o cuando quita elementos.
Ejemplo remove
public static void main(String[] args) {
ArrayList v = new ArrayList();
Persona p=new Persona(123, "Lucas", 38000);
v.add(10);
v.add("Lucas");
v.add(p);
for(int i=0 ; i<v.size(); i++) {
System.out.println(v.get(i));
acá vamos a eliminar a persona y quedaria asi
v.remove(0);
for(int i=0 ; i<v.size(); i++) {
System.out.println(v.get(i));
EL NÚMERO 0 ES LA POSICIÓN DEL MÉTODO QUE SE DESEA ELIMINAR, SIEMPRE
EMPIEZA EN 0 HASTA LA CANTIDAD QUE TENGAMOS
clear: elimina todos los elementos del ArrayList
isEmpty(): Recorrer el ArrayList y verifica si está vacío
get(índice): Este método devuelve el elemento que se encuentra en la posición dada
set(índice,contenido): el método reemplaza el elemento que se encuentra en la posición
dada
Construir un algoritmo que declare un ArrayList de personas y permite agregar personas y
eliminar personas por su posición. El algoritmo contará con un método para borrar persona
y también listar todos los datos de las personas que contiene la colección.
Clase 05-06-2024
Casting
Cuando se hace necesario asignar un dato a una variable cuyo tipo no es
compatible con el de la variable, se puede realizar gracias al casting.
Operador Intanceoff
Existen situaciones donde se desea invocar un determinado método de una clase,
pero no sabemos qué tipo de instancia posee la referencia.
EJEMPLO
Crear la clase Auto con los atributos Matrícula, Marca,Modelo,Km
Auto
- Matricula: String
- Marca:String
- Modelo:String
- Km:Double
+getMatricula():String
+getMarca():String
+getModelo():String
+getKm():Double
+setMatricula(String)
+setMarca(String)
+setModelo(String)
+setKm(Double)
Clase 12-06-2024
Casting
Una excepción es cualquier condición anormal que interrumpe el flujo de ejecución
de un programa. Los errores ocurridos en tiempo de ejecución constituyen un claro
ejemplo de las excepciones.
Un ejemplo de excepción sería, cuando un programa pretende hacer una
división entre cero o se quiere invocar a un método sobre un objeto que está
referenciado a null.
Los errores anteriores, no son detectados por el compilador sino durante la
ejecución ocasionando que el programa termine de ejecutarse abruptamente.
Para evitar que el programa se interrumpa, se debe manejar la posibles
excepciones, para esto java proporciona las instrucciones (try catch)
Estas instrucciones deben respetar la forma de escritura siguiente
try {
Bloque de instrucciones
que puede lanzar la
excepción
}catch(tipo de excepción referencia){
bloque de instrucciones
para manejar el error
}
ejemplo
En este caso si se entra como segundo número un cero el programa se interrumpe
cuando trata de hallar el cociente, dando error de división entre cero.
para evitar que el programa se interrumpa debemos manejar el error a través de las
instrucciones try catch
cada error que se genera en el programa se transforma en un objeto el cual se debe
importar
deberes,modificar el código para que permita ingresar nuevamente el
dividendo (m).
temas para el parcial
casos de uso
diagrama conceptuales
diagrama de implementación
codificación en java
colecciones
casting
instanceoff
excepciones
Clase 24-07-2024
Herencia en java
La herencia es una propiedad que permite en java crear nuevas clases a partir de
clases ya existentes.
La herencia es una característica que se encuentra también en la naturaleza y java
nos permite representar dicha característica.
Todos los métodos, atributos y asociaciones que se encuentran en la clase base
pasan a las clases derivadas por herencia, con excepción de los métodos
constructores .(todo se hereda menos los CONSTRUCTORES)
Para acceder desde una clase derivada a un método de la superclase debe hacer
uso de la instrucción “SUPER”
Vamos a implementar en java el ejercicio 3(SOLO TRABAJAMOS CON
DOCENTES;ADSCRIPTOS,LABORATORISTAS)
ejercicio 3- en una institución educativa se cuenta con docentes de los cuales se
sabe el nombre y la cédula. Hay docentes que son adscritos de los que se conoce el
turno, también existen docentes laboratoristas de los que se conoce la especialidad.
Todos los docentes poseen al menos 20 estudiantes a cargo y un estudiante está a
cargo de un docente. Los laboratoristas trabajan en laboratorios, un laboratorista
puede trabajar en uno o muchos laboratorios y en un laboratorio trabaja un solo
docente laboratorista.
Diagrama de implementación
la sentencia extend permite indicar en java de qué clase extiendo o heredó
Construir un método llamado mostrar que nos muestre los atributos de cada
instancia.
construir el método tostring para la clase docente y luego para la clase derivada
adscripto construir el método tostring y mostrar lo mismo hacer en laboratorista
método tostring y mostrar además de poder invocar lo de la clase docente
Clase 31-07-2024
Reescritura de métodos
ESTO PODRÍA SER PREGUNTA DE TALLER 2
Los métodos se reescriben en las clases derivadas con el fin de modificar su
comportamiento, en nuestro ejemplo el método mostrar debe presentar un
comportamiento diferente dependiendo del tipo de instancia, es decir, si la instancia
es un docente solo debe mostrar cedula y nombre, pero si es un adscripto además
debe mostrar el turno.
En este caso estamos en presencia de un método que presenta comportamientos
diferentes según la INSTANCIA, por lo tanto diremos que el método MOSTRAR ES
POLIMÓRFICO presentando formas diferentes según la instancia.
Clase Abstracta
Una clase abstracta es aquella que no va a poseer instancias de la propia clase, es
decir, nunca se hará un New de la propia clase, las clases abstractas se crean con
el fin de simplificar la programación reuniendo atributos,métodos y asociaciones que
pasarán a las clases derivadas por herencia.
Ejercicio 7: En una institución educativa se cuenta con docentes de los que se sabe
el nombre y la cédula. Hay docentes que son adscriptos de los que se conoce el
turno, también existen docentes laboratoristas, de los que se conoce la
especialidad.Todos los docentes son adscriptos o laboratoristas, es decir, no existen
docentes que no sean algunos de los mencionados.
Representación de clase abstracta en UML
el nombre de una clase abstracta en UML debe ir con el nombre en cursiva también
los métodos abstractos
Nombre
EN CURSIVA
atributos
métodos
Implementación en java
En java el cabezal de la clase abstracta debe ser de la forma siguiente
public abstract class nombre de clase
En este caso vemos como se le asigna una instancia de la clase derivada, esta es
la propiedad de polimorfismo
Ejercicio 8:
En un taller mecánico trabajan electricistas, mecánicos y chapistas, de todos
se conoce la cédula, el nombre y sueldo. De los mecánicos se conoce la
especialidad, del electricista si tiene firma autorizada y del chapista si posee título.
Se desea construir un método llamado liquidar que devuelve el sueldo a cobrar de
acuerdo al siguiente criterio, en caso del mecánico será igual al sueldo por 1,2 en el
caso del electricista al sueldo por 1,5 y en el caso del chapista sueldo por 1,6
En este ejemplo, vemos que el método liquidar() debe ser abstracto en la clase
base, la razón es que no existe implementación en la clase Empleado para ese
método que heredan un método abstracto están obligadas a implementar
dicho método. De lo contrario, pasan a ser clases abstractas.
Clase 7-08-2024
La clase ejecutor tendrá el siguiente código en el método principal para instanciar
cada una de las clases, observamos que al mostrarse los datos de cada empleado
no sabemos si se trata de un mecánico, chapista o electricista.Para solucionar este
problema contamos con dos soluciones, una es modificar el método tostring, dos
reescribir el método mostrar en cada derivada
Ejercicio 9
Una empresa cuenta con camiones y ómnibus, de los camiones se conoce,
matrícula, marca, kilómetros y capacidad de carga. De los ómnibus se conoce,
matrícula,marca, kilometros y cantidad pasajeros. Interesa crear un método llamado
proximoservicio que en el caso del camión devolverá la cantidad de kilómetros X10
y en el caso del ómnibus kilómetros X15.
Static
Cuando se desea que un método o atributo sea compartido por todas las instancias
de esa clase debemos hacer que dicho atributo o método sea static, cuando un
miembro de una clase está etiquetado como static no esta asociado a ninguna
instancia de la clase en particular sino que es accesible desde todas las instancias
de la clase. Los miembros etiquetados como static pertenecen a la clase en lugar de
una instancia.
Ejercicio 10 vamos a construir un contador de instancias de una clase que
llamaremos auto y cuyos atributos son: matricula, string, marca string y cantidad int
Clase 21-08-2024
Una interface no es una clase
Cuando usó métodos en común en distintas clases, en ese caso necesito la interfaz
Interface
Una interface no es una clase, su utilidad es obligar a las clases que implementa
dicha interfaz, a que implementen los métodos expuestos en dicha interfaz.
Supongamos una situación donde tenemos la clase auto con sus atributos y que
además posee un método llamado mostrar que muestra sus datos.
Por otro lado tenemos la clase empleado, con sus atributos y métodos y que
también posee al método mostrar que muestra su información. En este caso
creamos una interfaz llamada por ejemplo listar que va a poseer el método mostrar y
hacemos que la clase auto y la clase empleado, implemente la interface listar. El
uml sería (ver cuaderno)
Una interface define lo que debe hacer, pero no cómo hacerlo. Una interface no es
una clase, y se asocia con ellas a través de la implementación. Las clases que
implementan una interface, están obligadas a implementar todos sus métodos.
El Arraylist es una colección, pero no es la única, también existe LinkedList, trimap,
has table...
Las clases que permiten colecciones tienen métodos asociados, pero el
comportamiento y la representación es distinta
Interface List
Esta interface define métodos apropiados para cualquier colección, no acotada, con
una estructura lineal de almacenamiento (una atrás del otro, tipo secuencia)
Métodos de la interface list:
boolean ad (tipo_elemento o) inserta el objeto recibido al final de la colección
retornando true o false.
tipo elemento get (int i) retorna el objeto almacenado en la posición dada.
tipo elemento remove (int i) elimina el objeto almacenado en la posición dada.
int size () retorna la cantidad de elementos almacenados en la colección.
----------------------------------------------------------------------------------------------------------------
-Las clases LinkedList y ArrayList implementan la interface list y su representación
en uml es:(mirar el cuaderno el uml) -
----------------------------------------------------------------------------------------------------------------
Clase LinkedList
Esta clase implementa una colección que implementa la interfaz List. Internamente
utiliza una estructura de lista doblemente enlazada con puntero al principio y al final.
Las operaciones de búsqueda, inserción y borrado, se realizan en orden n, siendo
medianamente eficiente, esto se debe a que en las listas no existe el concepto de
redimensionamiento, cosa que ocurre en el ArrayList. El ArrayList es menos
eficiente en las operaciones de inserción y de eliminación, porque cada vez que se
inserta se debe redimensionar. (por ejemplo, si se que voy a borrar e insertar
elementos constantemente, me conviene elegir LinkedList, en el caso de que no
tenga una alta frecuencia de inserción y borrado, puedo usar ArrayList)
Vamos a java y creamos un nuevo proyecto llamado 21 de agosto LinkedList y
ArrayList
Vamos al proyecto 22 de mayo y copiamos la clase Persona, luego la pegamos en
el proyecto creado en el default package y eliminamos todo lo que tenga que ver
con salario, sólo lo tomamos como referencia
Clase 26-08-2024
Métodos de las interface MAP
<tipokey, tipoelemento>
tipo elemento put(key,elemento) Inserta en la colección el elemento asignando la
clave key
tipo elemento get(key) Retorna el objeto identificado por la clave recibida.
boolean contain key(key) Determina si hay algún objeto en la colección identificado
por la clave obtenida
tipo elemento remove(key) Elimina de la colección al objeto identificado por la clave
recibida
Ejemplo: vamos a construir un hashtable de persona
Métodos de las interface MAP
Las colecciones del paquete java.util poseen iteradores asociados.Los iteradores
son objetos que proveen métodos para poder recorrer todos los elementos de una
colección sin necesidad de conocer la estructura interna en la cual se almacena
Métodos asociados
public boolean hashNext(): devuelve el próximo elemento de la colección si existe.
En caso de no existir, devuelve falso.
Public object next() retorna el próximo elemento de la colección
Clase 04-09-2024
Iteradores
Las colecciones del paquete java util poseen iteradores asociados.Los iteradores
son objetos que poseen métodos para poder recorrer todos los elementos de una
colección, sin necesidad de conocer la estructura interna en la cual se almacena.
Métodos asociados a la clase Iterator
Public boolean hashNext(): determina si quedan elementos por visitar en la
colección.
public object next():
preguntas parcial:
Pq es conveniente recorrer para mostrar sus elementos utilizando un iterator en una
clase hashtable.
otra seria nos pide crear un método que muestre todos los elementos, sería hacer
despegar 2, está en clase 28 de agosto eclipse.
cuando utilizar un arraylist,likedlist, hashtable
Interface gráfica
Creación de interface gráfica en java
GUI: significa interfaz gráfica de usuario.
Java posee dos paquetes para la creación de interfaz gráfica, estos paquetes son:
AWT, SWING, el primer paquete para interfaz gráfica fue AWT, luego surge SWING
el cual incorpora nuevos componentes y un diseño orientado a ello.
Un componente es un objeto que tiene una representación gráfica, que pertenece a
la interfaz grafica.La interfaz gráfica de un programa debe ser amigable, esto
significa que sea fácil de usar para el usuario. Existen dos tipos de componentes
que son: componentes contenedores, componentes atómicos/ simples
componente contenedores: Contienen y organizan a otros componentes
contenedores o simples. Por ejemplo, un marco Frame es un elemento contenedor,
siendo capaz de contener a otros elementos.
componentes atómicos/ simples: dentro de estos componentes tenemos al botón, a
la etiqueta, a un listbox, etc.
Creación de una interfaz gráfica
1- debemos importar las clases a utilizar, para esto hacemos: import
javax.swing.JFrame.
2-para instanciar una ventana o marco hacemos: JFrame v= new JFrame();
si queremos que el marco o ventana posea un título hacemos: JFrame v = new
JFrame() ”primera ventana”;
3-para darle dimensión al marco hacemos: v.setSize(ancho en píxeles, alto en
pixeles);
4-para que al pulsar el botón cerrar del jframe finalice la aplicación debemos hacer:
v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
5-para mostrar el marco debemos hacer: v.setvisible(true);
NOTA: todo este código puede ir en el método main de una clase,
Uso del frameword: windowbuilders en eclipse para la creacion del
entorno grafico de la aplicacion
vamos a crear una clase JFrame para esto hacemos:
1- estando dentro del paquete de nuestra aplicación pulsamos boton derecho,
new,other,windowbuilders,hacer click en swing designer y hacer click en JFrame
2- en el cuadro de diálogo escribir en el nombre de la clase Ventana
3- debajo se muestran 2 pestañas que son: source y design
9-16 octubre ENTREGA OBLIGATORIO
Clase 11-09-2024
Creación de ventana de forma manual
Jpanel: son objetos contenedores que permiten establecer divisiones en una interfaz
gráfica con el fin de organizar los elementos que posee.
Los objetos contenedores como el mencionado anteriormente poseen
administradores de disposición que permiten organizar a los elementos que posee
como botones, texto, etiquetas,etc. Existen varios tipos de administradores de
disposición llamados Layout, nosotros trataremos 3 que
son:flowLayout,borderLayout,absoluteLayout.
Para configurar el administrador de disposición en un panel hacemos
panel.setLayout(new borderLayout()); AQUÍ VA CUALQUIERA DE LOS TIPOS
ANTERIORES.
borderLayout:es un administrador de disposición que cuenta con 5 zonas, estas
zonas son: centro,norte,sur,este,oeste. En estas zonas es donde se ubicaran los
objetos que colocaremos.
Ejemplo: REALIZADO EN LA CLASE 28 AGOSTO EN VENT MANUAL
Clase 02-10-2024
serialización y flujos de entrada y salida (y/o)
En java podemos enviar y recibir objetos hacia y desde diversos dispositivos de
entrada y salida, por ejemplo para respaldar un conjunto de objetos en un archivo en
disco para luego recuperarlos en una próxima ejecución o si queremos enviar un
objeto conteniendo ciertos datos, hacia un programa que se encuentra corriendo en
otra máquina de la red.En java la transferencia de información entre un programa y
un dispositivo de entrada y salida se realiza a través de unos objetos especiales
denominados FLUJOS DE ENTRADA Y DE SALIDA definidos en el paquete java.io,
existen en java diversos flujos de entrada y salida definidos para diferentes
propósitos.
Dependiendo de lo que se quiera hacer se deben elegir flujos de
comunicación apropiados para el tipo de dispositivo de entrada y salida a manipular
Ejemplo: Si el dispositivo de entrada y salida es un archivo para respaldo de datos y
lo que se quiere es guardar objetos en él, los flujos a utilizar se llaman
FileOutPutStream, ObjectOutputStream. El primero se encarga de abrir el
archivo para respaldo del objeto y el segundo se encarga de escribir tales
objetos en el archivo.
Si el dispositivo de entrada y salida es un archivo de texto, y lo que se quiere
es leer el texto almacenado en los flujos a utilizar se llaman:FileReader,
BufferedReader, el primero se encarga de leer el archivo y el segundo de leer
el texto en el.
Para que un objeto pueda ser transferido a través de un flujo de
comunicacion dicho objeto debe ser serializable.Que un objeto sea serializable
significa que el objeto en cuestión debe poder ser transformado a un formato bytes
adecuado para poder viajar a travez del flujo.Para que el objeto sea serializable
debe implementar la interface una interface serializable. La interface serializable no
posee ningún método solo se utiliza para indicar que los objetos de la clase que la
implementa tendrán la propiedad de ser serializados.
Clase 09-10-2024
Patrón Fachada
DEF PATRÓN:forma de resolver un problema probado científicamente.
con la fachada lo que se hace es centralizar todo en una clase única.
El patrón de diseño facade oculta y simplifica la complejidad de un sistema mediante
una interfaz.Dicho patrón permite centralizar todo en una sola clase desde donde
podemos acceder a todas las funcionalidades del sistema. El patrón contribuye con
un bajo acoplamiento, de esta forma el cliente tendrá solo un punto de acceso sin
que sepa que hay por dentro.
El patrón fachada se compone de TRES PARTES
Pojos son todos los objetos en cuestión, en el cual se encuentran todos los métodos
y tal.
El cliente accede a la fachada, la fachada accede a las funcionalidades que
proporcionan los POJOS que se encuentran detrás de la fachada.
El cliente desconoce la complejidad que hay del otro lado de la fachada solo
tendrá acceso a las funcionalidades del sistema a través de la fachada.
Ejemplo: creamos una interface creada llamada dibujar con los métodos que
vamos a presentar en la clase que oficiara de fachada, en nuestro ejemplo
llamaremos a la clase fachada Figuras. Luego crearemos dos clases, una llamada
Elipse, Rectángulo que implementen la interface dibujar. En la interface dibujar
incluiremos los métodos que se presentan en la clase Fachada, en nuestro ejemplo
el metodo dibujar.La clase Fachada debe tener como atributos a las clases Elipse y
Rectángulo, además de los métodos que acceden a las clases Elipse y Rectángulo.
Nuestro ejemplo en UML aplicando el patrón Fachada seria:
Clase 16-10-2024
Temas pal parcial
Colecciones- Preguntas conceptuales entre arraylist y LinkedList, Hashtable
todo lo conceptual
Clases-Herencia, atravez del diagrama conceptual y da opciones, herencia,
polimorfismo, todo lo dado
Ejercicio de implementacion y que hagamos un diagrama un diagrama de
implementacion con las clases mas importantes implementar algun metodo
def polimorfismo
serializacion- condiciones para serializar, como recorrer un hashTable, ver metodos
que se heredan o no.
metodo static
INterface grafica- admin de disposicion, flow y border layout, elementos
contenedores o atomicos o simples,
conexion con bd- atributos que debe tener la base que oficializara con la base de
datos ESTA EN EL PROYECTO CONEXION