|
Mover fichero de un directorio a otro en Java
Copiar un directorio en otro en Java
|
Definición y uso de instancias en CLIPS
Creación:
(make-instance [<instancia>] of <nombre clase><definicion slots>)(make-instance alumno1 of hombre (nombre "juan") (edad 26))
(make-instance of hombre (nombre "luis") (edad 56))
Modificación:
(modify-instance <instancia> <redefinicion slots>)(modify-instance alumno1 (nombre "juan antonio"))
Copia:
(duplicate-instance <instancia> [to <nueva instancia>]<redefinicion slots>)(duplicate-instance alumno1 to alumno2 (nombre "pedro"))
(duplicate-instance alumno2 to alumno3)
Borrado:
(make-instance <ref. instancia>)(unmake-instance alumno1)
(unmake-instance ?referencia)
Otra opción:
usar handler delete((send [instancia]) delete)
(send [alumno1] delete)
Declaración instancias iniciales:
(definstances)Instancias a crear al inicio de la ejecución (comando (reset))
Siempre existe objeto initial-object (de clase INITIAL-OBJECT)
(definstances personas
(juan of hombre (nombre "juan")
(luis of hombre (nombre "luis")
(pablo of hombre (nombre "pablo"))
Definición de handlers:
(defmessage-handler <clase> <handler> (<parametros>) <lista instrucciones> )Acceso a variables y ejecución de handlers (métodos)
([instancia] send <nombre handler> <paramatros>)
En slots donde se defina modificador create-accessor se crean dos handlers
get-<nombre slot>
set-<nombre slot>
([juan] send set-edad 26)
([pablo] send imprimir)
([juan] send get-nombre)
Patrones en java
Singleton
public class Singleton {
private static final Singleton INSTANCIA = new Singleton();
private Singleton(){}
public static Singleton obtenerInstancia(){
return Singleton.INSTANCIA;
}
public void saludar(){
System.out.println("Hola Mundo");
}
}
|
public class Main {
public static void main(String[] args) {
Singleton oSingleton = Singleton.obtenerInstancia();
oSingleton.saludar();
}
}
|
import java.util.Date;
//la clase hereda de hilos
public class Reloj extends Thread{
private static Reloj reloj;
private Reloj(){} // es privado porque usa el patron singleton
//para cuando no usas el singleton
// public Reloj(){
// this.start();
// }
//inicializa una sola vez el reloj
private synchronized static void createInstance(){
if(reloj==null){
reloj=new Reloj();
reloj.start();//arranco el hilo
}
}
//obtinene la unica instancia
public static Reloj getInstancia(){
createInstance();
return reloj;
}
@Override
public void run(){
while(true){
Date hora = new Date(System.currentTimeMillis());
System.out.println(hora);
try{
sleep(1000);
}catch (InterruptedException e){
e.printStackTrace();
}
}
}
}
|
public class Main {
public static void main(String[] args) {
//crea tres relojes usando el patron singleton
Reloj r1 = Reloj.getInstancia();
// Reloj r2 = Reloj.getInstancia(); //en realidad solo se crea una instancia, ya que solo usa una, da igual cuantas hagas
// Reloj r3 = Reloj.getInstancia(); //se esperan una a otra
//tres relojes sin usar el patron singleton
// Reloj r4 = new Reloj(); //sale bien si creas un reloj
// Reloj r5 = new Reloj(); //sale tres veces cada hora, no es como en el que usas en singleton
// Reloj r6 = new Reloj();
//la diferencia esque con el singleton da igual los que hagas que solo hace uno y en el otro no
}
|
Descargar
Suscribirse a:
Entradas (Atom)