ООП во FLASH 5


Настоящий Класс ( Class )


То, над чем мы будем работать - простенькая программка, позволяющая отображать фигуры и управлять ими. Хотя процесс создания OO-программы обычно включает в себя множество итераций и неудавшихся моделей, вы пытаетесь, до того как продолжите работу, выявить для себя проблему как можно яснее. Однако, дабы избегнуть нагромождения кода на первой же странице, давайте просто строить то, что строим, и по ходу дела добавлять то, что надо добавить. Терпение и труд, господа.

Итак, наша цель - программа управления фигурами, поэтому начнём с класса Фигур (Shape). На самом низком уровне наделим фигуры способностью двигаться и изменять размер. В псевдокоде (упрощённый код, предназначенный исключительно для людей, компьютер бы просто умер, попытайся его разгадать) это будет выглядеть примерно так:

// Shape Class ( класс Shape ) Shape(x,y,w,h) { // set x,y,w,h } // Свойства x,y,w,h // Методы Move(x,y); // переместить форму в позицию с координатами x y Size(w,h); // установить ширину в w, высоту в h // Теперь мы можем это использовать: s1 = new Shape( 10,20,30,40 ); s1.Move( 20, 30 ); s1.Size( 100, s1.y );

Однако остаются проблемы. А пока запомните одну важную вещь. Зарубите её себе на носу! (Если там ещё осталось место для памятных зарубок):

Когда создаётся класс, нужно предоставить пользователю возможно более простую, внутренне непротиворечивую, логичную структуру.

Даже в том случае, если вы будете единственным пользователем этого класса, задача остаётся такой же. Ведь когда придёт время использовать класс, у вас на уме наверняка будут уже совсем другие вещи, о которых до этого и не подозревали. А прочие пользователи созданного вами класса и вовсе не смогут (или не захотят) копаться в вашей голове. Выходит, код может компилироваться и работать, но при этом оставаться совершенно "неправильным". Хорошо срабатывает в таких случаях следующее правило: представьте, что с этим классом работаете вы сами. Разберём процедуру по шагам.

В чём проблема с первой строкой?

s1 = new Shape( 10,20,30,40 );




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



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