Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   ЗАчем ООП на практике (вопрос)? (http://www.flasher.ru/forum/showthread.php?t=50079)

Gary 09.10.2003 18:26

ЗАчем ООП на практике (вопрос)?
 
Всем привет! У меня такой вопрос:какая практическая реальная польза от использования объектов,создания классов, наследования свойств и тп. Именно практическая. Поделитесь пожалуйста опытом, может даже в сравнении. Я прочитал Мука, ясно все (ага тут улыбаться всем :), но вот практического применения, так чтобы раз и навсегда перейти к этому пока не вижу, точнее не совсем убедительно.С другой стороны конечно это основа основ и AS на этом стоит, но какая всеобъемлющая польза от пользовательских (sorry за тавтологию) классов etc., не встроенных? На сайте обычно ну максимум второго уровня меню,
для сложного движения можно наверно отдельную функцию написать, что еще? Ну да, создаем XMl объекты, разбираем...
Может с опытом разработчик наращивает свойства объектов, новые удобные, ему классы формирует
и это Очень сокращает время и позволяет больше концентрироваться на непосредственно дезинге?
В общем если не трудно поделитесь.Можно без кодов (время у всех), описательно, я пойму :)).
Вопрос-то важный на самом деле. Вообще ощущение что AS дает и МакроМ продвигает то, что большинство не использует вовсе. Бытует ведь мнение, что весь сайт на Флэш только сумасшедший делает (из этих форумов кстати).Люди склонны сделать классный флэш и интегрировать его в HTML. Тогда зачем такое богатство возможностей? Из любви к искусству? в ожидании Интернет-2 :)?
Спасибо, что дочитали. Мне очень интересно мнение всех, но более ессно собаку съевших (не к ночи помянуто будет :)).

Пушистик 09.10.2003 19:47

:)
 
ну на практике он них пользы, как бы сказать...ну не очень много...:)но она конеш есть!особенно от прототипоФ!ну и от объектов тоже она есть!:)например чтобы создавать события AsBroadcaster'ом!

ну или свяки там лисенеры делать:

Код:

click = {};
Mouse.addListener(click);
click.onMouseDown = function() {
    trace("Это окно можно вызвать тока один раз....");
    Mouse.removeListener(click);
};

ну и кроме того, мы всехда почти ими(классами и объектами) пользуемся при написании кода, сами того не замечая....:)

я тут кодик нашел небольшой, который раньше писал....типа полегче...:

Код:

function DrawCircle(name, size, div) {
    _root.createEmptyMovieClip("name", div);
    with (_root.name) {
        lineStyle(1, 0x000000, 100);
        beginFill(0x000000, 50);
        moveTo(200, 200);
        curveTo(200, 180, 215, 165);
        curveTo(230, 150, 250, 150);
        curveTo(270, 150, 285, 165);
        curveTo(300, 180, 300, 200);
        curveTo(300, 220, 285, 235);
        curveTo(270, 250, 250, 250);
        curveTo(230, 250, 215, 235);
        curveTo(200, 220, 200, 200);
        endFill();
        _width = size;
        _height = size;
    }
}
for (i=150; i>=0; i -= 8) {
    _root["myCirc"+i] = new DrawCircle(i, i, i);
}

он больше походит на старую объектную модель для Flash 5...но работает тока в МХ...
ну это так для общего развития...%)

ну а ваще можно посоздавать классы, которое будут приносить пользу:)
я так делал не раз...но делаю это не часто....

iLoveYou 10.10.2003 13:09

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

ЗЫ 2Пушистик
Цитата:

ну на практике он них пользы, как бы сказать...ну не очень много...:)но она конеш есть!особенно от прототипоФ!ну и от объектов тоже она есть!:)например чтобы создавать события AsBroadcaster'ом! ну или свяки там лисенеры делать... ну и кроме того, мы всехда почти ими(классами и объектами) пользуемся при написании кода, сами того не замечая....:)...ну а ваще можно посоздавать классы, которое будут приносить пользу:)
я так делал не раз...но делаю это не часто....
это супер! :)

iLoveYou 10.10.2003 13:14

в догонку
 
кстати, семерошный ООП - это какой-то недоООП получился. а 5 и 6 - честно говоря, больше надуманный, чем реальный. так что во флеше ООП - это не принцип, а скорее стиль. :)

gct 10.10.2003 13:35

2 Пушистик: не в обиду, но постановка цикла всё равно немного "необычна" для меня

Цитата:

for(i=150; i>=0; i -= 8)
150%8=6 (это я к тому, что проверка на 0 в i>=0 не нужна)

Gary 10.10.2003 18:46

На практике, можно больше примеров?
 
Уведомление об ответе не пришло чегой-то. Поэтому только щаз отвечаю. Спасибо!
Пушистику спасибо!
Однако я упоминал всколзь, что прочитал Мука (хотя я с этой книгой сплю :)))), гусары молчать :). И пример создания объекта DrawCircle понятен конечно :).
Но вот как планируется, проект: от частностей к обобщениям в кодировании (ну например я рисую круг, явным кодом (извините за терминологию- выучусь), затем рисую через 10 другой с иными параметрами. В итоге с прихожу к мысли вот черт, придется возращаться и писать асбтрактно, с переменными, хотя на первый взгляд быстрее повторить может быть. Или я рисую сразу некий объект - круг, с переменными, думая, а вдруг позже понадобиться? Последнее на начальном этвпе дольше ведь?- переменные задавать, условия писать (в вдруг этот объект как-то поперек себя понадобиться завернуть? :)) Вот наверно и для этого хорошо объекты создавать или переписывать _prototypes?, так?

Вот мне и интересно насколько хороший программист абстрактно мыслит при НАЧАЛЕ работы над скажем большим проектом, это растет наверно с мастерством, но активно ли используются раннее созданные объекты и т.п.?

Например, я написал (thnx FlashByble5) динамически создаваемое меню, подгрузка данных для него, кнопки по местам и т.п. в главном разделе, матери матерей :)). А потом гружу подраздел и бац! - опять надо, т.к. там свои менюшки. Или объект (квадраты например с текстом) двинуть туда-сюда.В принципе вложи условия в первоначальную фцнкцию и пользуй ее. Но это ж сколько можно наращивать ее? Когда хороший программист говорит "Стоп! Уж лучше новую написать" - то есть принцип инкапсуляции с собственым поведением, от какого места становиться более важным универсальности кода?(Наверно немного путаю, но думаю понятно о чем :) )
Sergey"iLoveYou" еще больше :). За то, что забавно, когда задают вопрос об очевидном ? :)))))
Но я же просил, про НОЫве классы объекты, как они помогают жить, практика понимаешь, как строить свое обучение, куда внимание направлять, сидеть писать сложную абстрактную функцию сразу или жизнь заставит когда?
Ясен перец, это у них везде, встроенное. А где про настоящее классическое ООП почитать, язык какой?
Ну а в 7ке (2004), они же идут в сторону ООП? Вон проверка типов данных и невозможность их менять, регистры поменял- кирдык, не видит переменную.А вот интересно там по прежнему кто угодно и как угодно может напрямую свойство поменять объекту (это вроде неправильно с точки ООП?. Надо вроде бы через вызов метода? )
Извините что, много. Больше не буду.

Пушистик 10.10.2003 20:23

Gary, дык я ж спецально шоб те понятно было, чисто по Муку:)
а то что ты с ним спишь-эт прально!:)
я прочитал эту книгу до того как она еще вышла!это настоящая Библия ActionScript! Вот щяс дочитываю вторую книжку Мука!Класс!Спасибо щедрым людям, которые мне её дали!:)

gct, то что там ноль...не ноль....тебе лиж бы придратся!эт мы просто баловались с одним чухом!это не код из десертации по ООП мля....ааааа...я понял код будет работать на 0,0001 секунд медленне...

эти коды я писал када ООП юзал конкретно и хотел найти ему конкретное применение! Например, я сделал тогда еще голосование PHP+Flash на объектах и прототипах почти полностью....для меня лично прототипы имеют самое большое практическое значение!

Sergey"iLoveYou", чё та там ревел?я не понял... :rolleyes:

iLoveYou 10.10.2003 23:59

Цитата:

Оригинал написал(а) Пушистик
Sergey"iLoveYou", чё та там ревел?я не понял... :rolleyes:
дарагой Пушистик! мы уже привыкли к тому, что твой код построен по принципу "работает - и зашибись", так что не напрягайся и не воспринимай как обиду сказанное людьми, у которых отдельные твои опусы в коде вызывают совершенно нездоровое возмущение - прости этих людей, они до сих пор находятся под тлетворным влиянием Цпп, Джавы, Форта и прочей шушеры.

2 Gary
Повторюсь, в 6-ке и 5-ке ООП - это скорее стиль, чем историческая необходимость. Хочешь - пользуйся плодами цивилизации, не хочешь - не пользуйся. Например, я давным-давно написал махонький 3д-движок, не прибегая к ООП (о это любимое многими слово - прототип;) ) - просто функции. :)
казусы семерошного ООП проскальзывали здесь
и вообще, я считаю, что принципы ООП нужно понимать вне языков программирования, т.е. не привязывать, тогда реализовать их сможешь в любом "пригодном" для этого языке. :)

Пушистик 11.10.2003 13:46

Цитата:

Оригинал написал(а) Sergey"iLoveYou"

Например, я давным-давно написал махонький 3д-движок, не прибегая к ООП (о это любимое многими слово - прототип;) ) - просто функции. :)

интересно как это ты смог?на глабальных функциях что ли?? :rolleyes:

gct 13.10.2003 15:34

Цитата:

...так что не напрягайся и не воспринимай как обиду сказанное людьми, у которых отдельные твои опусы в коде вызывают совершенно нездоровое возмущение - прости этих людей, они до сих пор находятся под тлетворным влиянием Цпп, Джавы, Форта и прочей шушеры.
:eek: :(

ЗЫ: и почему бы сразу не перейти на личности?...


Часовой пояс GMT +4, время: 00:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.