Название: Алгоритмы и программы (Афанасьева Т. В.)

Жанр: Информационные системы и технологии

Просмотров: 1339


13.4. полиморфизм

 

Объект-потомок   может   не   только   дополнять   поля   и   методы родителя,  но  и  заменять  методы  родителя  на  новые  (заменять  поля родителя нельзя!). Например, вместо правила SETLINEVISIBLE мы могли бы в объекте TLINE объявить правило SETVISIBLE, которое в этом случае перекроет (заменит собой) одноименное правило объекта–родителя TPOINT. В результате, к разным родственным объектам TPOINT и TLINE можно было бы применять одноименные правила SETVISIBLE, обеспечивающие сходные в смысловом отношении действия – показать или сделать невидимым графический объект. Свойство, позволяющее называть разные алгоритмические действия одним именем, называется полиморфизмом.

Полиморфизм –  это  свойство  системы  использовать  объекты  с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

 

Задания для самостоятельного выполнения

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

1. Объект   «Студент».   Действия над объектами:   начисление стипендии,   получение   информации  об   успеваемости,  вывод   личных данных,   перевод на следующий курс, операции сравнения объектов, присваивание.

2. Объект «Дата и время суток». Действия над объектами: сравнение объектов, арифметические операции над объектами, вывод на экран данных, присваивание.

3. Объект «Цена в рублях и копейках». Действия над объектами класса: сравнение объектов,   арифметические операции над объектами, вывод на экран данных, присваивание.

4. Объект «Цветной заполненный круг». Действия над объектами: вывод изображения на экран и удаление изображения (в графическом режиме), перемещение объекта по экрану, изменение цвета и вида заполнения, масштабирование, сравнение объектов, присваивание.

5. Объект «Цветной заполненный прямоугольник». Действия над объектами: вывод изображения на экран и удаление изображения   (в графическом режиме), перемещение объекта по экрану, изменение цвета и вида заполнения, масштабирование, сравнение объектов, присваивание.

6. Объект «Цветной заполненный треугольник». Действия над объектами: вывод изображения на экран и удаление изображения   (в графическом режиме), перемещение объекта по экрану,  изменение цвета и вида заполнения, масштабирование, сравнение объектов, присваивание.

7.  Объект  «Цветной  отрезок  прямой».  Действия  над  объектами: вывод изображения на экран и удаление изображения (в графическом режиме), перемещение объекта по экрану, изменение цвета, масштаби- рование, поворот на заданную величину в градусах относительно одного из концов отрезка, сравнение объектов, присваивание.

8.  Объект  «Цветная  строка».  Действия  над  объектами:  вывод  на экран (в графическом режиме), конкатенация, присваивание, сравнение. Объекты должны иметь свойства, регулирующие способ вывода инфор- мации на экран: вертикально или горизонтально.

9. Объект «Цветная заполненная трапеция». Действия над объектами: вывод изображения на экран и удаление изображения (в графическом режиме), перемещение объекта по экрану, изменение цвета и вида заполнения, масштабирование, сравнение объектов, присваивание.

10. Объект «Сотрудник». Действия над объектами: получение информации о месте работы, занимаемой должности и стаже работы, изменение должности, начисление заработной платы, вывод личных данных, операции сравнения объектов, присваивание.

11. Объект «Цветной заполненный сектор». Действия над объектами: вывод изображения на экран и удаление изображения (в графическом режиме), перемещение объекта по экрану, изменение цвета и вида заполнения, масштабирование, сравнение объектов, присваивание.

12. Объект «Абитуриент». Действия над объектами:  получение и изменение информации о факультете и шифре специальности, вывод личных данных, получение информации о наличии медали, операции сравнения объектов, присваивание

Контрольные  вопросы

1. Для чего используется механизм ООП?

2. Что такое объект?

3. Что такое инкапсуляция?

4. Что такое наследование?

5. Что такое полиморфизм?

6. Что такое методы объекта?

7. Как описываются объекты в Turbo Pascal?