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

Class НекийКласс { public static function имяМетода (идентификатор! = значение!,

идентификатор2 = значение2

идентификаторп = значениеп) {

}

}

Для вызова статического метода используется следующий обобщенный код:

НекийКласс. имяМетода(значение1, значение2. ..значениеп)

В предыдущем коде НекийКласс обозначает класс, в котором определен статический метод, имяМетода — это имя статического метода, а значение!, значение2. . . значениеп — список, состоящий из нуля или более аргументов метода. Внутри класса, в котором определен данный метод, имя имяМетода может быть использовано самостоятельно (без лидирующего имени класса и точки). Например, в классе А, в котором определен статический метод т, выражение А. т ( ) идентично выражению m ( ). Тем не менее, чтобы различать статические методы и методы экземпляра, многие разработчики (это относится и к примерам данной книги) включают лидирующее имя класса[ даже в тех случаях, когда его использование не является обязательным.

Некоторые классы существуют только ради определения статических методов, объединяя связанную функциональность, однако экземпляры таких классов никогда не создаются. Например, собственный класс Mouse существует только ради определения статических методов show ( ) и hide ( ) (используются для отображения или скрытия указателя мыши). Обращение к этим статическим методам происходит непосредственно через класс Mouse (как, например, Mouse. hide ( ) ), а не через экземпляр данного класса. Объекты класса Mouse никогда не создаются.

У статических методов есть два ограничения, которые отсутствуют у методов экземпляра. Во-первых, в методе класса нельзя использовать ключевое слово this.

Во-вторых, статический метод не может обращаться к переменным и методам экземпляра класса, в котором он определен (в отличие от методов экземпляра, которые, помимо переменных и других методов экземпляра, могут также обращаться к статическим переменным и статическим методам).

В целом, статические методы по сравнению со статическими переменными используются не часто. В нашей программе по созданию виртуального зоопарка статические методы не применяются вообще. Чтобы продемонстрировать применение статических методов на практике, вернемся к функции проверки адресов электронной почты, описанной в гл. 2. В этой функции мы создали цикл, который позволяет определить наличие или отсутствие символа @ в указанном адресе электронной почты. Теперь представим, что в результате активного развития нашего приложения было решено создать служебный класс для работы со строками. Назовем его StringUtils. Класс StringUtils не будет использоваться для создания объектов; он просто представляет коллекцию статических методов. В качестве примера мы определим один статический метод contains ( ), возвращающий значение типа Boolean — это значение определяет, содержит ли указанная строка выбранный символ. Рассмотрим код:

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

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

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

Полезные ссылки
Случайные записи
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.25
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 108
  • 21.03.2011">Руководство по actionscript. часть 2, стр. 030
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.140
  • 21.07.2011">Дизайн современных часов
  • 25.02.2011">Руководство по actionscript. часть 6, стр. 085
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.54
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.113
  • 10.07.2010">Дизайн сайта определяется контентом
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.123
  • 06.03.2013">Ну просто очень вкусные булочки
  • 03.09.2011">Parental Skype Recorder
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 077
  • 04.09.2011">SageThumbs — предварительный просмотр любого файла изображения в Windows Explorer
  • 28.07.2011">Выживет только лучший
Опрос

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

View Results

Loading ... Loading ...