Documente Academic
Documente Profesional
Documente Cultură
}
Paquete “patrondecorator” public Persona() {
}
AdicionalesDecorador.java public Persona(String nombre, String apellidos) {
this.nombre = nombre;
package patrondecorator;
this.apellidos = apellidos;
import javax.swing.JOptionPane;
}
import pizzas.*;
import adicionales.*;
public String getNombre() {
return nombre;
public class PatronDecorator {
}
public static void main(String[] args) {
Pizza pizza;
public void setNombre(String nombre) {
int op =
this.nombre = nombre;
Integer.parseInt(JOptionPane.showInputDialog("1. Pizza
}
Napolitana\n" + "2. Pizza Hawaiana"));
public String getApellidos() {
switch(op){
return apellidos;
case 1:
}
pizza = new PizzaNapolitana();
break;
public void setApellidos(String apellidos) {
case 2:
this.apellidos = apellidos;
pizza = new PizzaHawaiana();
}
break;
default:
@Override
pizza = new PizzaHawaiana();
public String toString() {
break;
return "Persona{" + "nombre=" + nombre + ",
}
apellidos=" + apellidos + '}';
}
int num;
}
do{
IteradorPersona.java
int ing =
Integer.parseInt(JOptionPane.showInputDialog("1. package Iterador;
Vegetales\n" + "2. Extra Queso"));
if(ing ==1){ public interface IteradorPersona {
pizza = new Vegetales(pizza); boolean hasNext();
}else{ Persona next();
pizza = new QuesoExtra(pizza); Persona first();
} }
num = IteradorConcretoPersona.java
Integer.parseInt(JOptionPane.showInputDialog("Desea
Agragar ing?\n" + "1. Si " + "0. No")); package Iterador;
}while(num==1); import java.util.ArrayList;
Persona.java @Override
public boolean hasNext(){
package Iterador;
boolean res = false;
public class Persona { if(posicion < lista.size()){
private String nombre; res = true;
private String apellidos; }
return res;
} Paquete “patroniteradorpersona”
@Override PatronIteradorPersona.java
public Persona next(){
package patroniteradorpersona;
Persona p = null;
import Iterador.AgregadoPersona;
if(lista.size()>0){
import Iterador.AgregadoPersonaConcreto;
p = lista.get(posicion);
import Iterador.IteradorPersona;
posicion++;
import Iterador.Persona;
}
return p;
public class PatronIteradorPersona {
}
@Override
public static void main(String[] args) {
public Persona first(){
AgregadoPersonaConcreto ap = new
Persona p = null;
AgregadoPersonaConcreto();
if(lista.size()>0){
p = lista.get(0);
ap.addPersona(new Persona("Luis ", "Suarez"));
}
ap.addPersona(new Persona("Carlos ", "Chavez"));
return p;
ap.addPersona(new Persona("Jesus ", "Rodriguez"));
}
ap.addPersona(new Persona("Martha ", "Quimi"));
}
AgregadoPersona.java
IteradorPersona iterador = ap.crearIterador();
package Iterador; while(iterador.hasNext()){
Persona p = iterador.next();
public interface AgregadoPersona { System.out.println(p.toString());
IteradorPersona crearIterador(); }
} }
AgregadoPersonaConcreto.java }
OBSERVER
package Iterador;
import java.util.ArrayList; Paquete “observerbiblioteca”
@Override
@Override
public void update() {
public void notifyObservers() {
System.out.println("Compras: ");
for(int i = 0; i<observadores.size(); i++){
System.out.println("Solicito Nueva cotizacion...");
observadores.get(i).update();
}
}
}
}
Stock.java }
package observerbiblioteca;
Biblioteca.java
public class Stock implements ILibroMalEstado{
package observerbiblioteca;
@Override
public class Biblioteca {
public void update() {
public void devuelveLibro(Libro libro){
System.out.println("Stock: ");
if(libro.getEstado().equals("MALO")){
System.out.println("Le doy de baja...");
AlarmaLibro a = new AlarmaLibro();
}
a.notifyObservers();
}
}
Administracion.java }
}
package observerbiblioteca;
AlarmaLibro.java
package observerbiblioteca;
import java.util.ArrayList;
@Override
public double getSuperficie() {
// Aca iria el algoritmo para calcular superficie de un
triangulo escaleno.
return 0;
}
@Override
public void dibujate() {
// Aca iria el algoritmo para dibujar un triangulo
escaleno.
}
}
TrianguloFactoryMethod.java
package fmtriangulo;
TrianguloFactory.java
package fmtriangulo;
@Override
public Triangulo createTriangulo(int ladoA, int ladoB, int
ladoC) {
if ((ladoA == ladoB) && (ladoA == ladoC)){
return new Equilatero(ladoA, ladoB, ladoC);
}else if((ladoA != ladoB) && (ladoA != ladoC) && (ladoB
!= ladoC)){
return new Escaleno(ladoA, ladoB, ladoC);
}else{
return new Isosceles(ladoA, ladoB, ladoC);
}
}
}
FMTriangulo.java
package fmtriangulo;