ООП во FLASH 5


Пространства имён


Классы это, конечно, всего лишь рецепты по созданию объектов. Объект - торт со взбитыми сливками, а класс - рецепт по его приготовлению. Любимые рецепты можно записывать на карточках, которые, в свою очередь, можно хранить в коробочке (пока ещё компьютерная революция не добралась до кухни!). Для торта со взбитыми сливками у вас есть только один рецепт (допустим), а вот для шоколадного их уже несколько. Один любимый рецепт найти легко, так как он обычно покрыт засохшим шоколадным тестом, а если рецептов двенадцать? Все они соответствуют шоколадному торту и, даже просматривая ингредиенты (проверяя классы), не так-то легко их отсортировать. Вероятнее всего, поначалу вы будете "помечать" их с помощью дополнительной информации. "Бабушкин шоколадный торт", "Юлин шоколадный торт для детей", "Шоколадный торт без сахара"... Вот простейшее объяснение использования пространств имён - чтобы как-то отделять друг от друга вещи с одинаковыми именами. Однако, как любит говорить ваша бабушка, за каждой лишней заморочкой кроется возможность структурирования библиотек класса способом, помогающим не загрязнять пространства имён и облегчающим многократное использование кода. Да хранит её Господь, вашу бабушку!

Взглянем на "проблему" с прямоугольником ещё раз, имеется один класс, "математически" описывающий размеры прямоугольника (x, y, w, h) от некоей точки в пространстве. И другой, описывающий объект "Прямоугольник" как форму (например, он может быть синим), в противоположность формам эллипса или треугольника. Итак, перед нами два, чётко отличимых друг от друга способа описания объекта, и если они будут одинаково называться, проблем не избежать. Мы могли бы просто переименовать один из них, но, увы, это не всегда возможно, что если используются чужие классы, или же два собственных класса из предыдущих проектов? Что, если у нас перед глазами спецификация, в которой чётко указано: rectangle? Ещё хуже, когда мы не замечаем, что происходит, а заметив, не можем понять, почему порой всё перемешивается. При использовании пространства имён решаются не только эти проблемы. Классы теперь можно организовать в стройную логическую структуру, в которой поиск данных и их использование (повторное в том числе) заметно облегчены. "Почему же не все и не всегда используют пространства имён?", - спросите вы. В большинстве случаев всё-таки используют.




Начало  Назад  Вперед



Книжный магазин