Macromedia Flash 5. Объектно - ориентированное программирование

       

Функция, или Класс, или Конструктор, или Метод, или Свойство... Уффф!


Ну ладно, получится что из этого, нет ли, попробуем разъяснить все эти термины. В ActionScript-е почти все они немножко свойства и немножко объекты. Это - великая вещь, это важно понимать, когда нужно что-то не просто описать, чем это что-то будет являться физически, но и определить поведение этого чего-то, что оно должно будет делать. Намотав все это себе на ус, начнем потихоньку с классов, методов и функций.

  Определения

  • Класс (Class) - это определение или шаблон, необходимый для создания нового объекта. Ключевое слово: new. Сюда входит и определение прототипа класса. При этом не возвращается никакого значения, потому что возвращается новый созданный объект. Каждый раз, используя оператор new, вы создаете новый экземпляр класса. Ключевое слово this ссылается на новый созданный экземпляр. Аргументы используются для того, чтобы наделить каждый объект определенными свойствами.
     
  • Метод (Method) - это программа, почти всегда определяется в прототипе класса и всегда запускается посредством объекта (чаще всего экземпляром класса, имеющего прямой доступ к методу). Метод может использовать аргументы и возвращать определенные значения. Ключевое слово this ссылается на объект, вызывающий метод. Хотя у методов есть прототипы и пространство имен, они игнорируются.
     
  • Функция (Function) - вы можете задаться вопросом, как сюда "вписываются" обычные функции, не создающие новых объектов и не принадлежащие классам? Что ж, никак. Если вы собираетесь плотно заняться ООП, вы должны хорошо это усвоить. Функции, существующие сами по себе, - жители другого мира, называемого процедурным программированием (ах да, они тоже весьма полезны и круты, но только не в мире ООП).
     
  • Конструктор (Constructor) - относится к классу, который создает/создавал объект. Имя его совпадает с именем класса, представляет из себя блок кода, необходимый для инициализации объектов класса.
     
  • Свойства (Properties) - технически это нечто, присвоенное объекту, что стало свойством этого объекта. Это нечто может быть строкой, числом и т.д., а также методом и другим объектом... Под свойствами часто подразумевают все "неметоды", так что будьте готовы к этому. ActionScript не делает различий между методами и свойствами, но вам порой это будет необходимо. Свойства иногда называют атрибутами (только данные), переменными (только данные), членами класса (данные и методы), четными полями (данные и методы), хотя они всегда будут нести в себе проблему двойного значения с того момента, когда вы начнете пользоваться этими терминами. К счастью, в 99 случаев из 100 об истинном смысле вы можете догадаться из контекста. Оставшийся 1% - всего лишь свойство ActionScript-а. Резюмируя, они могут означать все неметоды, или методы и неметоды, все зависит от контекста.
     
  • Члены класса (Members) - тоже заслуживают внимания, поскольку это общее название для свойств и методов объекта. В данном случае класс или объект можно рассматривать как набор определенных вещей и вещи эти суть члены этого набора.
     
  • Объекты или экземпляры класса (Object vs Instance) - это в общем-то синонимы, хотя экземпляром обычно называют объект, созданный с помощью оператора new, в то время как объект - общее название для всех объектов. Строки и числа несомненно являются объектами, фактически же это экземпляры, созданные внутренними конструкторами ActionScript-а. Обычно экземпляр явно не указывает на тип объекта, но вы всегда сможете догадаться из контекста.
     
  • <<

       ООП во Flash 5    >>



    Содержание раздела