Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Тестовое задание] Модель работы турникета, Постройка модели работы турникета 
:(
    Опции темы
Pitbul
  Дата 21.12.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Fruzenshtein
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.4.2008
Где: Киев

Репутация: нет
Всего: нет



Доброго времени суток всем. Недавно получил тестовое задание. В нем просят выполнить следующую задачу по постройке модели работы турникета.

Турникет контролирует входе пассажиров в МЕТРО. Для этого используются карточки нескольких типов:

1) Такие, что действуют по термину: 1 день, 10 дней.
2) Такие, что действуют на количество проездов: 2 поездки на 1 день, 10 поездок на месяц.
3) Пенсионные безлимитные.

Турникет должен быть связан с системой, в которой ведется реестр выданных карт. В этой системе можно создать карту, пополнить счет или заблокировать ее.

Данные о карте хранятся на смой карте: уникальный номер, тип карты, дата окончания срока, количество поездок и т. п.

Турникет считывает данные с карты, если срок действия и количество поездок в норме, то отнимается одна поездка, а иначе выводи на экран сообщение о невозможности осуществить проезд.

Условия для выполнения задания:

1.     Наследование должно быть применено к иерархии карт.

2.    Инкапсуляция для скрытия данных на проездной карте.

3.     Полиморфизм должен быть применен к проверке карты на "действительность" и для снятия одной поездки.

Это и есть задание smile 

А теперь подскажите пожалуйста на недостатки и пробелы в моем алгоритме решения задачи.

Иерархия проездных карт.

Я начал все строить с класса:

Код

import java.util.Calendar;

abstract class Card
{
    
Calendar DoCR = Calendar.getInstance(); // Date of Card Registration
protected int id; // Номер карты
protected String type; // Тип карты
protected boolean active; // Действительность карты
protected int trips; // Количество поездок

}


Вот один из производных классов:
Код

import java.util.Calendar;

class CardUnlim1Day extends Card
{    
    
CardUnlim1Day()
{
    
    this.id = 1;
    this.type = "Безлимитная однодневная карата";
    this.active = true;
    this.trips = 1;
    
    //Установка даты окончания действия карты
    DoCR.get(Calendar.DAY_OF_MONTH);
    DoCR.get(Calendar.MONTH);
    DoCR.get(Calendar.YEAR);
    
    DoCR.add(Calendar.DAY_OF_MONTH, 1);
}
    
}


Главным вопросом для меня сейчас является установка id для каждой новой карты и хранение карт в одном месте.
Для хранения я думаю воспользоваться LinkedList, но не знаю, каким образом решить вопрос с записью smile  
Помогите пожалуйста обдумать алгоритм сохранения информации о картах в LinkedList smile 
--------------------
### JAVA  ######  programming ###
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0402 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.