- •Предисловие
- •Введение в объектно-ориентированное программирование Основные понятия объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм Объект
- •Наследование и полиморфизм
- •Агрегация
- •Апология ооп
- •Демонстрация преимущества объектно-ориентированного программирования на примере системы вывода графических изображений
- •Реализация с помощью структурных технологий
- •Реализация с помощью объектно-ориентированных технологий
- •Создание классов и объектов в actionscript 2.0
- •Основы создания классов и объектов
- •Объектно-ориентированные, объектные и объектно-базированные языки программирования
- •Квалификаторы доступа и методы доступа Get/Set Первая версия класса библиографических карточек
- •Вторая версия класса библиографических карточек
- •Задание 1
- •Наследование и полиморфизм в actionscript 2.0 Наследование
- •Полиморфизм
- •Задание 2
- •Литература
Задание 2
Создать классы библиографических описаний книг СВоок, статей CArticle, а также класс библиографических описаний CBibliographicCard, который будет содержать атрибуты и методы, общие для обоих классов. Библиографическое описание книг будет иметь те же самые пункты, что и в первом задании. Библиографическое описание журнальных статей должно содержать пункты, указанные в табл. 2. Как и прежде, вариант определяется последней цифрой студенческого билета.
Прежде чем приступать к написанию кода на ActionScript 2.0, внимательно проанализируйте задание и постарайтесь рационально перераспределить атрибуты между классами, выделив общие из них в абстрактный класс библиографических карточек. Для этих целей воспользуйтесь графическим изображением классов на языке UML, как это было сделано в разделе, посвященному введению в объектно-ориентированное программирование. Диаграммы классов должны быть представлены в пояснительной записке.
Таблица 2
Вариант |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Автор |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Число соавторов (помимо ос- новного автора |
0 |
0 |
2 |
1 |
2 |
1 |
2 |
1 |
1 |
0 |
Заглавие |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Название журнал |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Год издания |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Номер первой страницы |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Номер последней страницы |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Краткое содержание статьи |
|
+ |
|
|
|
|
|
|
+ |
|
Рецензия |
+ |
|
|
|
|
+ |
|
|
|
+ |
Рейтинг. Изменяется в пределах от 0 до указанного в таблице значения ( в методе доступа, устанавливающем значение данного атрибута, обеспечить проверку удовлетворения введенного значения данному требованию) |
10 |
7 |
15 |
100 |
5 |
3 |
8 |
50 |
20 |
30 |
Комментарий |
|
+ |
|
+ |
|
+ |
|
+ |
+ |
+ |
Для всех вариантов необходимо создать методы, выводящие описания книг и журналов в строку, в которой будут присутствовать все значения атрибутов, за исключением комментария, краткого содержания статьи и рецензии. Такая строка формируется аналогично примеру, рассмотренному в теоретической части. Имена соавторов выводятся через запятую.
Атрибуты должны быть закрытыми. Для всех их должны быть созданы методы доступа. В конструкторе должна осуществляться инициализация всех атрибутов значениями, переданными в качестве аргументов, за исключением рецензии, рейтинга и комментария. В теле конструкторов классов библиографических описаний книг и статей не забудьте вызвать конструктор базового класса.
2. Создать по одному объекту библиографического описания книги и статьи, поместив их в массив. Осуществить обход массива, вызывая для каждого его элемента метод, формирующий строку описания. Можно использовать как реально существующие журнальные статья, так и чисто гипотетические.
