Воскресенье, 24.11.2024, 14:14
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Объектно-ориентированное программирование. Билет №9
engineerklubДата: Пятница, 13.10.2023, 06:21 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Объектно-ориентированное программирование. Билет №9

Тип работы: Работа Экзаменационная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Билет № 9

1. Требуется:
1) внести в программу необходимые исправления;
2) внести необходимые дополнения, чтобы в результате выполнения команды d.Move(120,150) в заданных координатах появилась собака.
{ TGivotnoe – животное; TKat – кошка; TDog – собака }

TGivotnoe:=object
X, Y: integer;
procedure Move (x1, y1: integer); virtual;
procedure Clear;
procedure Display;
End;
TKat=object (TGivotnoe)
procedure Clear; virtual;
procedure Display;
End;
TDog=object (TGivotnoe)
procedure Clear;
procedure Display;
End;
Procedure TGivotnoe.Move (x1, y1: integer);
Begin
 Clear;
x:= x1;
y:= y1;
 Display;
End; procedure TGivotnoe.Clear;
begin
{ рисует символ * цветом фона}
end;
Procedure TGivotnoe.Display;
Begin
{ рисует символ * заданным цветом }
end;
Procedure TKat.Display;
begin
{рисует кошку}
end;
Procedure TDog.Display;
begin
{рисует собаку}
end;
{Методы Clear аналогичны методам Display, но рисуют цветом фона }
var d: TDog;
begin

d.Move(120,150);

end.

Указания к ответу на 1-ый вопрос билета:
Чтобы ответить на поставленный в задаче вопрос надо определить: Выполнится ли в результате работы предложенного фрагмента программы метод TDog.Display или нет? Это уже почти и будет Вашим ответом.
Как это определить? Проанализируйте работу программы, начиная с операторов выполняемой части (другими словами, с операторов раздела описания действий). Повторите это дважды:
до внесения каких-либо изменений в приведенный фрагмент программы и после (если, конечно, Вы посчитаете необходимым что-либо изменить). Таким образом, проанализировав программу в первоначальном виде, Вам станет понятно: надо ли что-нибудь в ней изменять, дополнять и, если надо, аналогично проанализировав программу еще раз после внесения изменений, Вы проверите – правильно ли она работает, а именно: выполнится ли в результате ее работы метод TDog.Display или нет? 
Как проанализировать работу программы? Точно так же, как в лекциях анализируется работа программ из примеров 2.5 и 2.6. Так же, как там, Вам необходимо в ответе на данный вопрос билета изобразить цепочки вызовов методов: до внесения каких-либо изменений в код программы и после (если, конечно, Вы что-то измените).
Важно! Не надо доводить приведенный фрагмент до полностью работающей программы. Если написано, что, например, здесь рисуется то-то, то пусть это так и остается – код вместо комментариев дописывать не требуется. Вы вносите изменения (редактируете, добавляете или удаляете) только в тот код, который написан.
Итак, ответом на 1-ый вопрос билета являются:
1) Цепочка вызовов методов до внесения каких-либо изменений в приведенный фрагмент программы;
2) Ответ на вопрос: выполнится ли в результате работы предложенного фрагмента программы метод TDog.Display или нет?
если да – Ваш ответ закончен, если нет – переходите к п. 3);
3) Внесенные Вами изменения в код программы.
(Не обязательно переписывать весь код программы, напишите только измененные строки, например, так: строка из программы и эта же строка после внесения изменений);
4) Цепочка вызовов методов после внесения Ваших изменений.

2. Объявление в дочернем классе метода с таким же именем, как и в одном из родительских, но с другим содержанием – это:
а) полиморфизм;
б) инкапсуляция;
в) иерархия;
г) перекрытие.

3. Может ли быть инициализировано множество идентичных (т.е. одного класса) объектов вызовом одного конструктора?
а) да;
б) да, но только при перечислении через запятую;
в) да, но только при вызове статического конструктора;
г) нет.

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru