ООП во FLASH 5


Настоящий Класс ( Class ) - часть 3


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

s1.Move( 20, 30 );

Во-первых, что это означает? Что? Нужно ли переместиться в позицию с координатами 20, 30, или нужно сместиться на 20 единиц вправо и на 30 вниз? Узнать это можно лишь одним способом, найти в описании класса, который я вам навязал. Проверили? Нашли? Теперь же, найдя не только это, но и дорогу назад (забыв, правда, что там искали), вы, наконец, поняли, что первоначально это не было задано в классе. Прежде чем начать грязно ругаться, запомните, что большинство программ есть нечто большее, чем один-единственный класс и пара методов; для разумения принципов работы большинства методов недостаточно поверхностного взгляда. Даже если они отлично закомментированы (хе-хе!), мозгам придётся: во-первых, "сохранить информацию на диске", во-вторых, "включить поиск", затем - "пропарсить и сохранить на диск". И уже после всего этого - "найти необходимое место". Если ваше "сохранить на диск" подобно моему, то, к тому времени, когда дойдёте до конца логической цепочки, напрочь забудете, для чего переместили кнопку туда, где она находится сейчас. Как бы ни была великолепна фотографическая память, ей не справиться с семью последовательными элементами за семь секунд. Следовательно, нужно распрощаться с именами, допускающими неоднозначное толкование. Раз и навсегда.

На самом деле предполагалось, что метод переместит кнопку в позицию с указанными координатами, а не будет их использовать для относительного смещения. Откуда я это знаю? Ха! Да потому что Я это написал. Теперь я перепишу это так, чтобы вы тоже знали. Выберем более очевидный термин "Location" и продолжим.

s1.Location( 20, 30 );

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

s1._x=20; s1._y=30;

А вот это действительно хороший вопрос. На который есть простой, но чересчур длинный ответ. Что-то типа: "Ну и когда же мы доберёмся до этой главы?"

<<

   ООП во Flash 5 ( II )    >>




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