자바 디자인 모드 - 교체 기 모드
20740 단어 디자인 모드게임 에서 디자인 모델 배우 기
배경
실현
총화
배경
교체 기 모델 은 용도 가 광범 위 하 다. 예 를 들 어 무기 창고 의 무 기 를 보 여 주 며 조종사 들 이 선택 할 수 있 도록 해 야 한다.
이루어지다
무기 류
public class Weapon {
private String name;
// or
private String type;
//
private String damage;
//
private String count;
public Weapon(String name, String type, String damage, String count) {
super();
this.name = name;
this.type = type;
this.damage = damage;
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDamage() {
return damage;
}
public void setDamage(String damage) {
this.damage = damage;
}
public String getCount() {
return count;
}
public void setCount(String count) {
this.count = count;
}
@Override
public String toString() {
return "Weapon [name=" + name + ", type=" + type + ", damage=" + damage + ", count=" + count + "]";
}
}
교체 기 인터페이스
public interface Iterator {
boolean hasNext();
Object next();
}
무기 교체 기
public class WeaponIterator implements Iterator {
private List<Weapon> weapons;
public WeaponIterator(List<Weapon> weapons) {
super();
this.weapons = weapons;
}
private int position = 0;
@Override
public boolean hasNext() {
if (null != weapons && position <= weapons.size() - 1) {
return true;
}
return false;
}
@Override
public Object next() {
Weapon weapon = weapons.get(position);
position++;
return weapon;
}
}
무기고
public class WeaponStore {
private List<Weapon> weapons;
public WeaponStore(List<Weapon> weapons) {
super();
this.weapons = weapons;
}
public WeaponStore() {
super();
}
public List<Weapon> getWeapons() {
return weapons;
}
public void setWeapons(List<Weapon> weapons) {
this.weapons = weapons;
}
@Override
public String toString() {
return "WeaponStore [weapons=" + weapons + "]";
}
public Iterator getWeaponIterator() {
return new WeaponIterator(weapons);
}
}
테스트 클래스
public class Test {
public static void main(String[] args) {
WeaponStore weaponStore = new WeaponStore();
List<Weapon> weapons = new ArrayList<>();
weapons.add(new Weapon(" ", " ", "4700", "1"));
weapons.add(new Weapon(" ", " ", "5000", "1"));
weapons.add(new Weapon(" ", " ", "4300", "2"));
weapons.add(new Weapon(" ", " ", "4700", "3"));
weaponStore.setWeapons(weapons);
Iterator iterator = weaponStore.getWeaponIterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
테스트 결과
Weapon [name= , type= , damage=4700, count=1]
Weapon [name= , type= , damage=5000, count=1]
Weapon [name= , type= , damage=4300, count=2]
Weapon [name= , type= , damage=4700, count=3]
총결산
교체 기 모드 는 할 말 이 없 으 니 집합 을 자주 교체 하 는 것 이 낯 설 지 않 을 것 이다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
디자인 모델 의 공장 모델, 단일 모델자바 는 23 가지 디자인 모델 (프로 그래 밍 사상/프로 그래 밍 방식) 이 있 습 니 다. 공장 모드 하나의 공장 류 를 만들어 같은 인 터 페 이 스 를 실현 한 일부 종 류 를 인 스 턴 스 로 만 드 는 것...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.