Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Индивидуальные задания. Общая часть заданий для вариантов 1-20:



Общая часть заданий для вариантов 1-20:

Написать программу, демонстрирующую работу с объектами двух типов: T1 и T2, для чего создать систему соответствующих классов. Каждый объект должен иметь идентификатор (в виде произвольной строки символов) и одно или несколько полей для хранения состояния объекта (один класс является потомком другого). Клиенту (функции main) должны быть доступны следующие основные операции (методы): создать объект, удалить объект, показать значение объекта и прочие дополнительные операции (зависят от варианта). Операции по созданию и удалению объектов инкапсулировать в классе Factory. Предусмотреть меню, позволяющее продемонстрировать заданные операции.

При необходимости в разрабатываемые классы добавляются дополнительные методы (например, конструктор копирования, операция присваивания и т.п.) для обеспечения надлежащего функционирования этих классов.

Варианты 1-10

В табл. 2.1 и 2.2 перечислены возможные типы объектов и возможные дополнительные операции над ними. В таблице рассматриваются только целые положительные числа.

 

Таблица 2.1. Перечень типов объектов

Класс Объект
SymbString Символьная строка (произвольная строка символов)
BinString Двоичцая строка (изображение двоичного числа)
OctString Восьмеричная строка (изображение восьмеричного числа)
DecString Десятичная строка (изображение десятичного числа)
HexString Шестнадцатеричная строка (изображение шестнадцатеричного числа)

 

Таблица 2.2. Перечень дополнительных операций (методов)

Операция (метод) Описание
ShowBin() Показать изображение двоичного значения объекта
ShowOct() Показать изображение восьмеричного значения объекта
ShowDec() Показать изображение десятичного значения объекта
ShowHex() Показать изображение шестнадцатеричного значения объекта
Add(Т s) Для объектов SymbString – конкатенация строк; для объектов прочих классов – сложение соответствующих численных значений с последующим преобразованием к типу Т
Sub(T s) Для объектов SymbString – если s содержится как подстрока в строке класса, то результатом является строка, полученная удалением подстроки s; в противном случае возвращается значение s; для объектов прочих классов – вычитание соответствующих численных значений с последующим преобразованием к типу Т

 

Примечание: Первые четыре операции могут применяться к объектам любых классов, за исключением класса SymbString.

Здесь и далее Т — любой из типов Т1 или Т2.

Таблица 2.3 содержит спецификации вариантов.

Таблица 2.3. Спецификации вариантов 1-10

Вариант Т1 Т2 Операции (методы)
SymbString BinString ShowOct(), ShowDec(), ShowHex()
SymbString BinString Add(T)
SymbString BinString Sub(T)
SymbString OctString Add(T)
SymbString OctString Sub(T)
SymbString DecString ShowBin(), ShowOct(), ShowHexO
SymbString DecString Add (T)
SymbString DecString Sub(T)
SymbString HexString Add (T)
SymbString HexString Sub(T)

 

Варианты 11-20

В табл. 2.4 и 2.5 перечислены возможные типы объектов и возможные дополнительные операции над ними.

Таблица 2.4. Перечень типов объектов

Класс Объект
Triangle Треугольник
Quadrate Квадрат
Rectangle Прямоугольник
Tetragon Четырехугольник
Pentagon Пятиугольник

 

Таблица 2.5. Перечень дополнительных операций (методов)

Операция (метод) Описание
Move() Переместить объект на плоскости
Compare(T ob) Сравнить объект ob со значением класса по площади
IsIntersect(T ob) Определить факт пересечения объекта ob с фигуной класса (есть пересечение или нет)
IsInclucle(T ob) Определить факт включения объекта ob в объект класса

 

Таблица 2.6 содержит спецификации вариантов.

Таблица 2.6. Спецификации вариантов 11-20

Вариант T1 T2 Операции (методы)
Triangle Quadrate Move().Compare(T)
Quadrate Pentagon Move().IsIntersect(T)
Triangle Rectangle Move().Compare(T)
Triangle Rectangle Move().IsIntersect(T)
Rectangle Pentagon Move().IsInclude(T)
Triangle Tetragon Move().Compare(T)
Triangle Tetragon Move().IsIntersect(T)
Triangle Tetragon Move().IsInclude(T)
Triangle Pentagon Move().Compare(T)
Triangle Pentagon Move().IsIntersect(T)

Список литературы

1. Шилдт Г. Полный справочник по Java SE6, 2007.

2. Эккель Б. Философия Java, 2009.

3. Ноутон П., Шилдт Г. - Java 2. Наиболее полное руководство, 2007.

4. Павловская Т.А., Щупак Ю.А. C++. Объектно-ориентированное программирование, 2006.

5. Буч Г. Объектно-ориентированное проектирование с примерами применения М.: Конкорд, 1992.


 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.