Паттерн: Посетитель (Visitor)
Исходник: Equipment.java, язык: java [code #529, hits: 8010]
автор: this [добавлен: 10.10.2007]
  1. package visitor;
  2.  
  3. import java.util.Iterator;
  4.  
  5. public abstract class Equipment {
  6. private String name;
  7. private int power;
  8. private int netPrice;
  9. private int disountPrice;
  10.  
  11. public Equipment(String name) {
  12. super();
  13. this.name = name;
  14. }
  15.  
  16.  
  17. public abstract void Accept(EquipmentVisitor v);
  18.  
  19. public String getName() {
  20. return name;
  21. }
  22.  
  23. public int getDisountPrice() {
  24. return disountPrice;
  25. }
  26.  
  27. public int getNetPrice() {
  28. return netPrice;
  29. }
  30.  
  31. public int getPower() {
  32. return power;
  33. }
  34.  
  35. public void setDisountPrice(int disountPrice) {
  36. this.disountPrice = disountPrice;
  37. }
  38.  
  39.  
  40. public void setNetPrice(int netPrice) {
  41. this.netPrice = netPrice;
  42. }
  43.  
  44.  
  45. public void setPower(int power) {
  46. this.power = power;
  47. }
  48.  
  49.  
  50. /**
  51. * Методы составного оборудования.
  52. * По-умалчанию - они ничего не делают.
  53. */
  54. public void Add(Equipment eq) {}
  55. public void Remove(Equipment eq) {}
  56. public Iterator<Equipment> getIterator() { return null; }
  57. }
Сущность Element

Базовый класс конкретных элементов оборудования.
Тестировалось на: java 1.5.0_04

+добавить реализацию