![]() |
Работа с несколькими классами
Добрый вечер. Я умею работать с 1 классом as 3.0.
Сейчас мне стало не удобно работать с 1 классом т.к. получился большой объём кода. Дак вот собственно вопрос: Допустим я создал 2 класса. 1 основной - Main и дополнительный - Data. Как добавить класс Data в приложение? Как передать в этот класс переменную variable в класс Data из Main? Как вызвать функцию Data класса Data из класса Main? |
в Main
Код AS3:
Код AS3:
|
Два файла.
Первый: Main.as Код AS3:
Код AS3:
То никого, то все сразу :) |
this! [x]
|
Код AS3:
|
wolhw, ну вот не боишься, что сейчас достанем линейки надаём по рукам а?:quiet:
|
А ты можешь пожалуйста расписать подробнее про передачу переменных в другой класс.
Допустим в классе Main создаётся кнопка при нажатии на которую переменной variable добавляется 1. Класс data получает эту переменную и увеличивает значение ещё на 1 и выводит её в textField. Притом значение переменной variable нужно чтобы изменилось и в классе Main. Как в таком случае осуществлять передачу этой переменной? Хотелось чтобы можно было использовать эту переменную без передачи туда - сюда... |
Запятые очень обижаются, когда их игнорируют. Вот вам немного запятых:,,,,,,. Расставьте в своем посте.
|
Zebestov
Цитата:
Добавлено через 10 минут cervikx Код AS3:
Код AS3:
|
Просит таки линейки, да. Еще раз такой совет и начнем скидываться.
Мейн он всего один, от него наследоваться это моветон и нефиг тут продвигать заведомо неправильную архитектуру, это будут люди читать, а некоторые даже делать то что увидели. |
А почему моветон, и чем плохо такое расшивение?
Я просто тоже учусь пока и сам пользуюсь такой конструкцией (не не мейн расширяю конечно, а другие слишком разросшиеся классы, Model например с конструкции AMVC) вот например у меня в ModelQ.as подгружаются даные c mySQL, в ModelCore.as -- все расчеты итд. а в мейн класе юзаю ModelMain() (последнее звено расшырения, если можно так сказать). Чем мне ето грозит? |
Цитата:
|
Класс Main():
Код AS3:
Класс Data(): Код AS3:
|
Еще один. С ума блин посходили????
Код AS3:
Код AS3:
какой смысл выносить инкремент переменной в какой-то отдельный класс? просто чтоб принципиально добавить лишний класс? Такие элементарные действия как раз в одном классе должны происходить. А отдельные классы должны выдела=яться под какой-то отдельный логическо функциональный блок. Например игра в проекте есть земля (выделим в отдельный модуль потому что допустим она должна отрисоваться из тайлов, там должны летать бабочки, там должны квакать лягушки) в проекте есть главный герой в проекте есть враги Вот и разделяем наш один класс на три куска.: Земля враг главный герой. А вот это вот типа "инкремент своей переменной через жопу" - это будем врагам советовать. |
Цитата:
Цитата:
|
Tasmanec, вообще почитать о том как переместить переменную в другой класс можете сдесь.
Задайте себе как минимум следушие вопросы: 1 - зачем в increment инкрементить переменную, а потом вызывать метод который опять же её инкрементит? 2 - зачем каждый раз, при вызове increment, создавать экземпляр класса Data? Остальное, не знаю получится ли объясним Вам на данном этапе. |
мегаступил, бывает
беру свои слова обратно, вместе с кодом)) |
Мне несколько классов нужны для создания одной тд игры.
А просто как кто-то писал наследоваться от класса Main нельзя? |
Вы мне объясните мотивацию наследования от мейн? ЗАЧЕМ??? это может понадобиться сделать?
Добавлено через 1 минуту Задача мейна инициализировать всех и вся, раздать каждому роли и уйти в сторонку. А всё остальное наполнение потом живет своей жизнью. По крайней мере у меня так обычно. Такая привычка еще с плюсов осталась. |
Вложений: 1
чуть не в тему но все же
Мой рабочий стол |
Хорошая у вас компания. Даже Софинк купили.
|
Цитата:
Цитата:
|
Время пришло: моветон
|
Цитата:
|
Что то до меня координально не доходит как сделать правильно... Вроде мука прочитал. Основы понял а вот с несколькими классами ппц...
Объясните мне пожалуйста как всётаки нужно делать. Доп классы нужны мне для создания и обработки множества однотипных объектов: враги, пули и тд |
Цитата:
|
cervikx,
Рассмотрим на примере приложения создающего объекты на сцене по клику мышки: Код AS3:
Код AS3:
|
Цитата:
Цитата:
Добавлено через 16 минут Цитата:
Код AS3:
Код AS3:
Цитата:
|
Ужас какой. Эдакое разрозненное процедурное программирование. И нафиг это ООП.
|
спасибо. Понял немного...
|
да фих его знает ужас не ужас, все говорят ужас а почему ужас так никто и не дал ответа, я раньше также разбивал все по класах получалось оч много класов и немеряные очереди параметров передаваемие вних при создании, истина наверное в умном комбинировании разних подходов ...
|
У меня есть вопрос но не уверен что это не оффтоп :)
Как можно получить статичные методы и переменны в наследованном классе ? Пока я их просто перезаписываю но очевидно это не правильно ! |
Никак. Статика не наследуется. Да и зачем?
Это нужно в очень редких специфических случаев. Ради этого можно сделать синглтон: статикой сделать экземпляр класса, и его уже наследовать как угодно. |
http://7centoff.ru/wp-content/upload...nsport0002.jpg
и короче один из этих пассажиров говорит: Цитата:
|
Цитата:
|
Vishapakah,
Код AS3:
|
Цитата:
|
Никак, вам уже сказали. Статичные константы являются членами класса, а не экземпляра и не наследуются. Наследуется только область видимости. Т.е. внутри класса B вы можете обращаться к константе (или статичному методу) по имени. В таких случаях, обычно, константы выделяются в отдельный класс. В API плеера это сплошь и рядом.
|
Цитата:
Добавлено через 4 минуты Ах да вспомнил , давно хотел спросить просто часто забывал , а как можно имея толька класс B получить родительский класс (на данном примере это A)? |
Что значит получить? Вызвать метод A из B?
Код AS3:
|
| Часовой пояс GMT +4, время: 10:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.