product.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // package product -- объект продукта для производства
  2. package product
  3. import (
  4. "wartank/pkg/components/parser_time"
  5. "wartank/pkg/components/safe_int"
  6. "wartank/pkg/components/safe_string"
  7. "wartank/pkg/types"
  8. )
  9. // Продукт -- объект продукта для производства
  10. type Продукт struct {
  11. имя *safe_string.БезопСтрока // имя продукта
  12. кол *safe_int.БезопЦелое // Количество продукта
  13. время *parser_time.ПарсерВремя // Время для производства продукта
  14. }
  15. // НовПродукт -- возвращает новый объект продукта
  16. func НовПродукт() *Продукт {
  17. сам := &Продукт{
  18. имя: safe_string.НовБезопСтрока(),
  19. кол: safe_int.НовБезопЦелое(),
  20. время: parser_time.НовПарсерВремя(),
  21. }
  22. return сам
  23. }
  24. // Имя -- возвращает название продукта
  25. func (сам *Продукт) Имя() types.ИБезопСтрока {
  26. return сам.имя
  27. }
  28. // Кол -- возвращает количество продукта
  29. func (сам *Продукт) Кол() types.ИБезопЦелое {
  30. return сам.кол
  31. }
  32. // Время -- возвращает время производства
  33. func (сам *Продукт) Время() types.ИПарсерВремя {
  34. return сам.время
  35. }