С Новым годом! Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 16
1

Доступ к классу

03.03.2013, 19:00. Показов 920. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте, недавно начал изучать as 3.0, не понимаю некоторых его особенностей. Подскажите, пожалуйста, почему когда я добавляю код:
ActionScript 3
1
2
3
4
5
6
7
8
9
class StaticTest 
{ 
    static var message:String = "static variable"; 
    var message:String = "instance variable"; 
} 
// In your script 
var myST:StaticTest = new StaticTest(); 
trace(StaticTest.message); // output: static variable 
trace(myST.message); // output: instance variable
, то выдаёт следующие ошибки:
1151: A conflict exists with definition message in namespace internal.
1131: Classes must not me nested.
Код добавляю на первый (единственный) фрейм первой(единственной) сцены.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2013, 19:00
Ответы с готовыми решениями:

Доступ к классу
Доброго времени суток. Имею следующую проблему: Есть 3 класса : DataCattalogTab, DataCatalog,...

Доступ к классу из формы
Здравствуйте Подскажите пожалуйста как обратиться к классу ? Вот сам класс: using System;...

Доступ к классу из .cpp в .h
Привет, подскажите как правильно организовать связь или доступ к классу, описанному в .h файле. ...

Доступ к классу в классе
Всем привет! есть два класса: public class Value { public int orderid {...

8
Модератор
2911 / 1770 / 179
Регистрация: 19.02.2011
Сообщений: 6,508
03.03.2013, 20:00 2
Сразу же во избежание лишних вопросов: Авторские уроки и статьи
Касательно вашей проблемы, вы не понимаете отличие между классом и экземпляром класса.
Из класса можно создать его экземпляр (директива new), а для доступа к ститическим (static) свойствам и методам используется название самого класса:
ActionScript 3
1
2
var item:ClassName = new ClassName();//создание экземпляра класса
trace(ClassName.someValue);//обращение к статическому свойству
Также не стоит забывать про права доступа (private, public, protected, internal)
1
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 16
03.03.2013, 20:50  [ТС] 3
Разницу я понимаю, я не понимаю, почему мой код не работает, ведь я правильно обращаюсь к статическому свойству, не создавая экземпляр, однако он мне пишет ошибку.
0
Модератор
2911 / 1770 / 179
Регистрация: 19.02.2011
Сообщений: 6,508
03.03.2013, 20:51 4
r0me, я же не зря писал про права доступа, которые в вашем примере не указаны.
0
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 16
03.03.2013, 21:06  [ТС] 5
Я уже тестил с пабликом, пишет The public attribute can only be used inside a package, тоже не совсем ясно, что имеется в виду.
К тому же, если не ошибаюсь, то по умолчанию стоит internal, что тоже не должно вызывать ошибок, код же мы располагаем в одном месте.
0
Модератор
2911 / 1770 / 179
Регистрация: 19.02.2011
Сообщений: 6,508
03.03.2013, 21:10 6
Цитата Сообщение от r0me Посмотреть сообщение
The public attribute can only be used inside a package
я у вас указания пакета (package) совсем не нашел
0
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 16
03.03.2013, 21:14  [ТС] 7
Вот в этом, думаю, и проблема. Покажите в моем коде, куда надо добавить package, чтобы код заработал. И если вам не будет трудно, объясниться в двух словах, что такое package и с чем его готовят и едят.
0
Модератор
2911 / 1770 / 179
Регистрация: 19.02.2011
Сообщений: 6,508
03.03.2013, 21:27 8
Вот пример класса
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package  
{
    /**
     * ...
     * @author TanaTiX
     */
    public class StaticTest 
    {
        public static var message:String = "some value";
        public function StaticTest() 
        {
            
        }
        
    }
 
}
И соответственно обращение:
ActionScript 3
1
trace(StaticTest.message);
Информация по пакетам
1
0 / 0 / 0
Регистрация: 24.10.2011
Сообщений: 16
03.03.2013, 23:07  [ТС] 9
Большое спасибо.
0
03.03.2013, 23:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2013, 23:07
Помогаю со студенческими работами здесь

Доступ к классу в классе
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

Доступ к классу как к контейнеру
Здравствуйте, не подскажите как нужно определить класс-контейнер, что бы можно было получать данные...

Дать форме доступ к классу
Здравствуйте. Как дать форме доступ к одному классу но так чтобы вручную не передавать данные...

Получить доступ к родительскому классу
Есть класс; class slave{ void print(); }; class master{ private: Slave a;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru