Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мультимедия технологии в пС.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
307 Кб
Скачать
☆

Квалификаторы доступа и методы доступа Get/Set Первая версия класса библиографических карточек

Рассмотрим более подробно возможности по созданию классов средствами ActionScript 2.0 на примере класса библиографических карточек. Пусть требуется создать класс библиографических карточек, описывающих монографии, которые должны содержать имя автора, название, издательство, год, число страниц. Кроме того, объекты этого класса должны формировать описание книги в виде одной строки. Код класса будет следующим:

class CBibliographicCard

{

//Автор

var m_sAuthor:String;

//Заглавие

var m_sTitle:String;

//Издательство

var m_sPublisher:String;

//Год издания

var m_nYear:Number;

//Число страници

var m_nPageCount:Number;

//Конструктор

function CBibliographicCard(sAuthor:String, sTitle:String,sPublisher:String, nYear:Number, nPage-Count:Number)

{

//Производим инициализацию атрибутов

m_sAuthor = sAuthor;

m sTitle = sTitle;

m_sPublisher = sPublisher;

m_nYear = nYear;

m_nPageCount = nPageCount;

}

function GetDescription():String

{

//Формируем описание монографии в виде одной строки

//и возвращаем эту стоку с помощью оператора return

return m_sAuthor + " " + m_sTitle + ". "

+ m_sPublisher + ", " + String(m_nYear)

+ ". " + String(m_nPageCount) + " стр.";

}

}

Проанализируйте вышеприведенный код. Такие свойства библиографической карточки как имя автора, название, издательство, год, число страниц, очевидно, следует представить в виде атрибутов. Требование же к объектам данного класса формировать описание в виде одной строки представлено методом. Очевидно также, почему такие атрибуты как имя автора, название и издательство являются переменными строкового типа, а год и число страниц - числового. Конструктор реализован аналогично конструктору рассмотренного выше класса точек. А вот реализацию метода, возвращающего описание книги GetDescription (), рассмотрим несколько подробней.

Так как метод должен возвратить строку, следует явно задать тип его возвращаемого значения String:

function GetDescription():String

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

После того как строка сформирована, она возвращается оператором return.

Приведем пример использования рассмотренного класса, создав объект библиографической карточки конкретной книги и затем выведя на экран строку, являющуюся ее библиографическим описанием. var theCard:CBibliographicCard =

new CBibliographicCard("Таненбаум Э.",

"Компьютерные сети", "Питер", 2003, 992);

//Выводим на экран библиографическое описание в виде строки trace(theCard.GetDescription());

Как видим, вызов метода осуществляется аналогично обращению к атрибутам. Отличием же является то, что при вызове метода обязательно требуется указывать скобки, даже если не предполагается передавать что-либо этому методу в качестве аргументов.