Documentos de Académico
Documentos de Profesional
Documentos de Cultura
variables.
Ámbito de vida
• El ámbito de una variable u objeto es el espacio del programa en el
que esa variable existe. Por ello, se habla de “ámbito de vida”
método (locales a la public Circulo( double nuevoRadio, int posicionX, int posicionY ) {
setRadio( nuevoRadio );
función): posicion = new Punto( posicionX, posicionY );
}
public Circulo( Circulo circulo ) {
setRadio( circulo.getRadio() );
setPosicion( circulo.getPosicion());
}
public void setRadio( double radio ) { this.radio = radio; }
public void setPosicion( Punto posicion ) { this.posicion = posicion; }
public Punto getPosicion() { return posicion; }
public double getRadio() { return radio; }
public double getArea() { return radio * radio * PI; }
public String toString() {
return "Radio: " + radio + " Posicion: " + posicion.toString() +
" Area: " + getArea();
}
}
Ámbito de clase. static
• Las variables static viven con independencia de que hayamos hecho
instancias de la clase
• Podemos acceder a ellas (si son públicas) usando el nombre de la clase
(no hay que hacer instancias) y viven desde que se declara la clase, por
ello se llaman variables de clase. Ejemplo:
class Circulo {
public static void main(String[] args) {
private punto posicion;
System.out.println( circulo.PI);
private double radio;
}
static public double PI = 3.1416;
...
• Ahora podemos explicarnos por qué main debe ser static: debe ser
accesible por el interprete Java antes de crear ningún objeto
class circulo {
private punto posicion;
private double radio;
static final public double PI = 3.1416;
– Singleton.
– Facade.
– Mediator.
Singleton - Definición
• Consecuencias
– Acceso controlado a la instancia única
– Espacio de nombres reducido (mejora sobre el uso de
variables globales)
– Permite refinamiento de operaciones (mediante
subclases)
Singleton – Problemas y
Consecuencias
• Consecuencias
– Permite un número variable de instancias
(cambiando la operación de acceso a la instancia
singleton)
– Es más flexible que los métodos (estáticos) de
clase
• ¿Cómo permitir más de una instancia de la clase?
Singleton - Implementación
• Los aspectos más importantes a tomar en
cuenta a la hora de implementar una clase
Singleton son:
– Asegurar una única instancia
• Partipante principal Singleton:
– Define una operación Instance estática que permite a los
clientes acceder a su instancia única
– Puede ser responsable de crear su única instancia
– Posibles subclases de la clase Singleton
Singleton - Declaración en Java
Singleton - Ejemplos
• Algunos ejemplos de clases que requieren una
única instanciación son:
– Ratón
– File System
– Impresora
Singleton - Ejemplos
• Ejemplo: 1 clase Singleton Producto, y 2 clases
que usan esta clase.
– Clase A: Vendedor.
– Clase B: Comprador.
“Un subsistema es
análogo a una clase en cuanto que ambos
tienen interfaces y ambos encapsulan algo”
[Gamma]
¿Por qué?
Facade - Estructura
Facade - Beneficios
– Reduce la herencia.
– Centraliza el control:
• Cambia la complejidad en las interacciones entre
objetos por complejidad en el objeto mediador.
• Puede ser muy complejo, difícil de entender y
modificar.
Mediator - Implementación
• Comunicación Objeto y Mediador:
– Los objetos se comunican a su mediador cuando tiene lugar un
evento.