Giriş
Observable sınıfı ve Observer arayüzü beraber kullanlır. Observable sınıfı arayüz olmadığı için nesnemizi bir kere kalıtınca başka bir sınıftan kalıtma imkanı ortadan kalkıyor.
Serializable
Bu sınıfı Serializable değil !
Java 9
Şöyle yaparız.
Şöyle yaparız.
Observable sınıfı ve Observer arayüzü beraber kullanlır. Observable sınıfı arayüz olmadığı için nesnemizi bir kere kalıtınca başka bir sınıftan kalıtma imkanı ortadan kalkıyor.
Serializable
Bu sınıfı Serializable değil !
Java 9
Bu sınıf Java 9 ile deprecate edildi. Açıklaması şöyle
addObserver metoduThe event model supported by Observer and Observable is quite limited, the order of notifications delivered by Observable is unspecified, and state changes are not in one-for-one correspondence with notifications. For a richer event model, consider using the java.beans package. For reliable and ordered messaging among threads, consider using one of the concurrent data structures in the java.util.concurrent package. For reactive streams style programming, see the Flow API.java.beans paketindeki PropertyChangeEvent ve PropertyChangeListener kullanılablir.
Şöyle yaparız.
public class SomeView implements Observer{
private MyObservable controller;
public SomeView (MyObservable ctrl)
{
this.controller= ctrl;
ctrl.addObserver(this);
}
public void update (Observable o,Object arg)
{
if (o==controller)
System.out.println("Update detected");
}
}
notifyObservers metoduŞöyle yaparız.
public class MyObservable extends Observable{
public void doSomething()
{
//dostuff
setChanged();
notifyObservers();
}
}
Hiç yorum yok:
Yorum Gönder