Паттерн: Абстрактная фабрика (Abstract Factory)
Исходник: Kamaz.java, язык: java [code #404, hits: 8657]
автор: this [добавлен: 24.05.2007]
  1. package abstractFactory.rusFleet;
  2.  
  3. import abstractFactory.Car;
  4. import abstractFactory.Truck;
  5.  
  6. public class Kamaz extends Truck implements Cloneable {
  7. private int series;
  8.  
  9. public Kamaz(String number, int series,
  10. int wheelNum, boolean trailer) {
  11. super(number, 2, wheelNum, 3, 150, 11000, trailer);
  12. this.series = series;
  13. }
  14.  
  15. public int getSeries() {
  16. return series;
  17. }
  18.  
  19.  
  20. //equals/hashCode/toString >>
  21. public boolean equals(Object o) {
  22. if (!(o instanceof Car)) {
  23. return false;
  24. }
  25.  
  26. if (!(o instanceof Kamaz)) {
  27. return o.equals(this);
  28. }
  29.  
  30. Kamaz other = (Kamaz) o;
  31.  
  32. return (super.equals(o) &&
  33. other.series == series);
  34. }
  35.  
  36. public int hashCode() {
  37. int res = super.hashCode();
  38. res = res * 37 + series;
  39. return res;
  40. }
  41.  
  42. public String toString() {
  43. String res = super.toString();
  44. res += ", series=" + series;
  45. return res;
  46. }
  47. }
  48.  
Сущность ConcreteProduct
Конкретная реализация грузовика: самый известный российский в своем классе.
Тестировалось на: java 1.5.0_04

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