![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2013
Сообщений: 157
|
Здравствуйте
Подскажите пожалуйста, как сделать видимым метод класса, в другом классе. Например имеется класс (файл 1) public class clBuildingList { public function clBuildingList(category:int, page:int) { // код } public function methClass1() { // код } } (файл 2) public class clBuilding{ public function meth1() { btImg.addEventListener(MouseEvent.CLICK, <Здесь вызвать метод methClass1>); } } Я делал следующим образом: 1. Импортирывал в Файл 2, файл 1 2. Вызывал methClass1 (в файле 2) через экземпляр класса clBuildingList, но возникала ошибка, я так понял это было связано с тем, что при создании экземпляра класса clBuildingList вызывается, ясное дело конструктор, что мне не нужно. При обращении clBuildingList.methClass1() - тоже ошибка, да и флеш вообще не видет данный метод, хотя он в файле является public. Подскажите как решить Эту проблему. Спасибо |
|
|||||
|
Цитата:
Допишите static к public'у |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 157
|
Вы хотите сказать, что methClass1 нужно сделать статическим?
|
|
|||||
|
Угу,
или экземпляр clBuildingList создать и вызывать у него. P.S. Называйте классы с большой буквы и без C - подавляющее большинство так делает, пришло из явы: BuildingList Переменные/Методы/Поля - с маленькой - так что и без дурацкой приставки cl не спутаете класс ни с чем. Да оно и в C#, где методы тоже принято называть с большой буквы, у классов не делают никаких приставок, означающих, что это класс, у интерфейсов только приписывают I(как и в as3) |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 157
|
Через экземпляр у меня не получилось вызвать. Выдает ошибку
Обращение возможного неопределенного свойства loadBilding через ссылку со статическим типом src:clBuilding . Вызвал следующим образом: clBuildingList.methClass1 Вроде как получилось, только все переменные, которые находятся в методе methClass1 должны я так понял тоже быть статическими. З.Ы. Спасибо за совет |
|
|||||
|
Надо жеж переменную loadBilding или поле(свойство) объявить там где используете.
Цитата:
"Вроде как получилось, только все поля(их переменными тоже называют), которые используются в методе methClass1 должны я так понял тоже быть статическими." (Просто внутренние переменные статического метода ничем не отличаются от переменных нестатического) А как по Вашему flashplayer должен угадать, с каким экземпляром будет работать этот статичный метод? Нестатичные поля - они пренадлежат экземпляру - а экземпляров Вы можете наделать сколько угодно. |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 157
|
Да. Сейчас все изменяю. все через статик делаю.
loadBilding - это метод ( если смотреть по примеру указанному выше, то это будет methClass1 ) |
|
|||||
|
Регистрация: Mar 2013
Сообщений: 157
|
Да все получилось. Спасибо огромное.
Добавлено через 27 часов 56 минут Но не до конца работает. Получается так, что когда функции были не статичесские, то можно было выполнять поставленную задачу, для которой они были предназначены, Но когда я поставил их статическими, к сожалению, задачи выполняются не все. Например, Работали функции, создания домика, перемещения (когда они не были статическими), когда поставил статические, то функция создания осталась, а перемещения не работает. У меня вопрос, как можно другим способом обратиться к методу класса? Добавлено через 28 часов 23 минуты Все сделал. Решил благодаря данному примеру |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|