학습 Head First 디자인 모델 Day 2
관찰자 모드: 대상 간 의 한 쌍 이상 의 의존 을 정의 합 니 다. 그러면 한 대상 이 상 태 를 바 꿀 때 그의 모든 의존 은 알림 을 받 고 자동 으로 업 데 이 트 됩 니 다.
온전한 생각
package observer_mode;
public interface Subject {
public void registObserver(Observers o);
public void removeOnserver(Observers o);
public void notifyObserver();
}
package observer_mode;
public interface Observers {
public void update(float date1,float date2,float date3);
}
package observer_mode;
import java.util.ArrayList;
public class WeatherDate implements Subject {
private ArrayList observers;
private float date1;
private float date2;
private float date3;
public WeatherDate() {
observers=new ArrayList();
}
@Override
public void registObserver(Observers o) {
observers.add(o);
}
@Override
public void removeOnserver(Observers o) {
int i=observers.indexOf(o);
if(i>0){
observers.remove(i);
}
}
@Override
public void notifyObserver() {
for(int i=0;i
package observer_mode;
public class Current implements Observers,Display {
private float date1;
private float date2;
WeatherDate watherdate;
public Current(WeatherDate watherdate){
this.watherdate=watherdate;
watherdate.registObserver(this);
}
@Override
public void display() {
System.out.println(date1+" "+date2);
}
@Override
public void update(float date1, float date2, float date3) {
this.date1=date1;
this.date2=date2;
display();
}
}
package observer_mode;
public class WeatherStation {
public static void main(String[] args) {
WeatherDate weatherDate=new WeatherDate();
Current current=new Current(weatherDate);
weatherDate.setMeasurements(3.3f, 2.3f, 4.0f);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.