Просмотр полной версии : Несколько классов
dr1emaver
14.09.2011, 17:58
Здравствуйте, хотел бы узнать возможен ли такой случай :
Например есть у нас несколько классов с различными исполняющими функциями и есть главный класса с одной функцией. В этой функции есть например три картинки, по нажатию на 1 картинку вызывается 1 класс и все управление передается функциям этого класса, то есть как будто у нас программа состоит только из этого класса, нажимаешь вторую картинку и вызывается второй класс и все происходит аналогично и т.д.
Возможно ли это ? И как реализовать ?
Интерфейсы, колбэки... Да, это возможно.
В этой функции есть например три картинкиА вот это невозможно. Функция - это объект. У нее нет свойства "картинка". Зато есть аргументы, куда можно их передать.
dr1emaver
14.09.2011, 18:37
ну вот у меня например есть класс Main и классы casual_class_first , casual_class_second, как из функции
main в классе Main можно полностью передать управление классу casual_class_first
public class Main extends Sprite
{
//....
public function Main():void
{
//тут как то вызвать класс casual_class_first
}
Если класса casual_class_first ещё нет живого, то
public class Main extends Sprite
{
//....
public function Main():void
{
//тут как то вызвать класс casual_class_first
new casual_class_first();
}
У классов есть методы (функции). "полностью передать управление классу" - вызвать один из его методов.
Пока очень плохо понимать, что вы хотеть.
dr1emaver
14.09.2011, 19:16
Идея в том, что например есть условие в зависимости от условия запускается своя программа со своими уникальными функциями (каждая программа описана классом, соответственно у каждого класса свои уникальные функции)
То есть приведу пример, есть текстовое поле.Если я наберу 1 в него и нажму на кнопку, то у меня запуститься программа с красивой оболочкой и своими функциями. Например наберу 2, то откроется другая программа с другой оболочкой и функциями. Так вот каждая программа описана своим классом.
И вот меня интересует, как сделать вызов именно другого класса, чтобы появлялась программа описанная этим классом)
Если класса casual_class_first ещё нет живого, то
немного не понял..Всмысле нет живого ? Есть файл casual_class_first.as в котором он описан и его функции.
немного не понял..
А вы сначала прочитайте основы (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/), а потом садитесь писать код, а не наоборот
Идея в том, что например есть условие в зависимости от условия запускается своя программа со своими уникальными функциями (каждая программа описана классом, соответственно у каждого класса свои уникальные функции)
То есть приведу пример, есть текстовое поле.Если я наберу 1 в него и нажму на кнопку, то у меня запуститься программа с красивой оболочкой и своими функциями. Например наберу 2, то откроется другая программа с другой оболочкой и функциями. Так вот каждая программа описана своим классом.
И вот меня интересует, как сделать вызов именно другого класса, чтобы появлялась программа описанная этим классом)
немного не понял..Всмысле нет живого ? Есть файл casual_class_first.as в котором он описан и его функции.
Вам бы почитать самые основы. ВОт тут, например: http://help.adobe.com/ru_RU/as3/learn/WSf00ab63af761f170-4ed0731912937da73f7-8000.html
Вот маленький пример того, что вы хотите.
1 Создаём новую флешку
2 Делаем на ней 3 картинки
3 Переводим картинки в символы. В свойствах ставим галку "экспорт в ActionScript". Имена классов пишем вот эти casual_class_first и прочее. Кстати, имена классов лучше начинать с Заглавных букв.
4 в каждом из классов пишем примерно такое:
public class casual_class_first extends MovieClip
{
//Эта ф-я получит управление во время старта флешки для каждого символа, к которому привязан этот класс
public function casual_class_first()
{
// Говорим флешке "при клике мышки на символ - вызови clicked
addEventListener(MouseEvent.CLICK, clicked);
}
// Функция будет вызвана при клике мышкой по картинке
public function clicked(e: Event): void
{
// делаем что нам надо
}
}
Там ещё правда директивы import нужны, сами допишите, а то я непомню где MouseEvent лежит.
Здравствуйте, хотел бы узнать возможен ли такой случай :
Например есть у нас несколько классов с различными исполняющими функциями и есть главный класса с одной функцией. В этой функции есть например три картинки, по нажатию на 1 картинку вызывается 1 класс и все управление передается функциям этого класса, то есть как будто у нас программа состоит только из этого класса, нажимаешь вторую картинку и вызывается второй класс и все происходит аналогично и т.д.
Возможно ли это ? И как реализовать ?
Вы. кажется, спрашиваете о полиморфизме? - название функций одно и то же, а функционал разный?
Если так - вам сюда:
http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fcd.html
Наследование и полиморфизм - это не одно и то же.
Полиморфизм реализуется через наследование, но не обязательно только через него - есть ещё интерфейсы (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f41.html).
Вот классический пример с фигурами (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f38.html).
Наследование и полиморфизм - это не одно и то же.
[/URL].
Надо бы, конечно, самого автора спросить - что ему надо. Но судя по вот этому
... по нажатию на 1 картинку вызывается 1 класс и все управление передается функциям этого класса, то есть как будто у нас программа состоит только из этого класса...
я так понял, что ему именно полиморфное поведение и нужно - т. е. определить переменную базового класса, но вызывать для создания экземпляра разные конструкторы. Соответственно, при неизменной реализации основного кода, будут выполняться разные действия.
Полиморфизм реализуется через наследование, но не обязательно только через него - есть ещё интерфейсы (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f41.html).
Вот классический пример с фигурами (http://help.adobe.com/ru_RU/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f38.html).
Да, конечно. Но интерфейсы в основном нужны для стандартизации, чтобы любой разработчик мог реализовать конкретное поведение. А когда человек пишет все сам, то - вряд ли пригодится.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.