Руководство по actionscript. часть 1, стр. 088

Теперь добавим несколько статических переменных в наш класс VirtualPet. Как известно, статические переменные используются для хранения информации, которая логически относится ко всему классу и не меняется от одного экземпляра к другому. В нашем классе VirtualPet уже есть два примера подобной информации: максимальная длина имени животного и максимальное количество калорий, которое может принять данное животное. Для хранения этой информации добавим две новые статические переменные: maxNameLength и maxCalories. Мы не будем обращаться к нашим переменным за пределами класса VirtualPet, поэтому объявим их с использованием модификатора доступа private. Следующий код демонстрирует объявления переменных maxNameLength и maxCalories, при этом оставшаяся часть кода класса VirtualPet опущена ради краткости:

package zoo { internal class VirtualPet { private static var maxNameLength = 20; private static var maxCalories = 2000;

// Оставшаяся часть класса не показана…

}

}

Теперь, когда у нас есть переменные maxNameLength и maxCalories, мы можем модифицировать методы getHunger ( ), еаt ( ) и setName ( ), чтобы воспользоваться этими переменными. В листинге 4.1 продемонстрирована последняя версия класса VirtualPet, в который были добавлены статические переменные. Изменения, внесенные в предыдущую версию кода, выделены полужирным шрифтом. Обратите внимание, что по соглашению статические переменные класса перечислены перед переменными экземпляра.

/

Статические переменные

117

Листинг 4.1. Класс VirtualPet

package zoo { internal class VirtualPet { private static var maxNameLength = 20; private static var maxCalories = 2000;

private var petName;

// Изначально каждому животному дается 50 % от максимально

// возможного количества калорий.

private var currentCalories = VirtualPet. maxCalories/2;

public function VirtualPet (name) { setName(name):

}

public function eat (numberOfCalories) { var newCurrentCalories = currentCalories + numberOfCalories; if (newCurrentCalories > VirtualPet. maxCalories) {

currentCalories = Virtual Pet. maxCalories; } else {

currentCalories = newCurrentCalories;

}

}

public function getHunger ( ) { return currentCalories / Virtual Pet. maxCalories;

}

public function setName (newName) { // Если длина заданного нового имени больше maxNameLength символов… if (newName. length > Virtual Pet. maxNameLength) { // …обрезать имя

newName = newName. substr(0. VirtualPet. maxNameLength); } else if (newName == «») { // …в противном случае, если заданное новое имя является // пустой строкой, завершить выполнение метода, не изменяя // значения переменной petName return;

}

// Присвоить новое проверенное имя переменной petName petName = newName;

}

public function getName ( ) { return petName;

}

}

Если проанализировать листинг 4.1, то можно заметить, что наличие переменных maxNameLength и maxCalories помогает централизовать код. Например,

ранее, чтобы изменить максимально допустимое количество символов в имени, нам пришлось бы заменить число 20 в двух местах тела метода setName — этот процесс не только отнимает много времени, но и может привести к ошибке. Теперь, чтобы изменить максимально допустимое количество символов, нужно просто присвоить другое значение переменной maxNameLength, и весь класс обновится автоматически.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 102
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.53
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 068
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 009
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.70
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 057
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 068
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.58
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.140
  • 19.02.2014">О пользе массажа
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 076
  • 10.08.2011">Samsung GT-S5250 – отличный помощник
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.18
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 094
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 146
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...