Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 11.04.2007, 22:23
demiurger вне форума Посмотреть профиль Отправить личное сообщение для demiurger Найти все сообщения от demiurger
  № 1  
Ответить с цитированием
demiurger

Регистрация: Apr 2007
Сообщений: 4
По умолчанию Использование своих классов

Добрый вечер, ребята. (ну и дамы конечно)

Сразу скажу, что совсем зеленый в акшн скрипте.

Возник вопрос следующего характера:
Есть два класса point и polyline
В первом, два отрибута - x и y соответсвенно, определяют кординаты точки. Сохраняю в файл point.as. Во втором классе хочу использовать первый, для этого объявляю атрибутом второго класса private аттрибут, типа первого класса, т.е. точка. Так вот, почему такая конструкция не работает. Если есть пример такой реализации - пожалуйста, приведите.

Если конкретнее, то как в других классах использовать уже существующие?

Старый 11.04.2007, 22:30
kmk вне форума Посмотреть профиль Отправить личное сообщение для kmk Найти все сообщения от kmk
  № 2  
Ответить с цитированием
kmk
 
Аватар для kmk

Регистрация: Feb 2007
Сообщений: 26
Отправить сообщение для kmk с помощью ICQ Отправить сообщение для kmk с помощью Skype™
Код:
class Point {
 function Point() { //конструктор  ;) 
 x = 0;
 y = 0;
 }
 var x:Number;
 var y:Number;
}
Код:
class Polyline {
 function Polyline() { //конструктор  ;) 
  point = new Point();
 }
 private var point:Point;
}

Старый 11.04.2007, 22:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.

Старый 11.04.2007, 22:41
kmk вне форума Посмотреть профиль Отправить личное сообщение для kmk Найти все сообщения от kmk
  № 4  
Ответить с цитированием
kmk
 
Аватар для kmk

Регистрация: Feb 2007
Сообщений: 26
Отправить сообщение для kmk с помощью ICQ Отправить сообщение для kmk с помощью Skype™
Цитата:
Сообщение от __etc
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.
я долго думал вписать ли мне геттеры и сетеры или обойтись функциями но решил что и так пойдет. тем более работать будет. ( не правильно но флеш съест ).

Старый 11.04.2007, 22:58
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Мой пост не был понят. Прочтите ещё раз. Я ничего про геттеры и сеттеры не говорил.

Старый 11.04.2007, 23:01
kmk вне форума Посмотреть профиль Отправить личное сообщение для kmk Найти все сообщения от kmk
  № 6  
Ответить с цитированием
kmk
 
Аватар для kmk

Регистрация: Feb 2007
Сообщений: 26
Отправить сообщение для kmk с помощью ICQ Отправить сообщение для kmk с помощью Skype™
я все понял и немного утрировал ))

Старый 11.04.2007, 23:43
demiurger вне форума Посмотреть профиль Отправить личное сообщение для demiurger Найти все сообщения от demiurger
  № 7  
Ответить с цитированием
demiurger

Регистрация: Apr 2007
Сообщений: 4
Хм....
Большое спасибо.. Я щас дома, но на работе делал что то подобное, и не работало, завтра сравню.

Я знаю про геттеры и сеттеры. Спасибо. Да и наверное лучше объявить конструкторы как паблик...

Старый 11.04.2007, 23:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Конструкторы и геттеры с сеттерами тут ничего общего не имеют. Просто товарищ kmk ввел своими сеттерами в заблуждение, хотя я про них ничего не говорил.

Старый 12.04.2007, 10:11
demiurger вне форума Посмотреть профиль Отправить личное сообщение для demiurger Найти все сообщения от demiurger
  № 9  
Ответить с цитированием
demiurger

Регистрация: Apr 2007
Сообщений: 4
Ребята, все работает. Но как то странно. Как только я объявляю геттеры и сеттеры, работать перестает, я не хочу чтоб напрямую был доступ к атрибутам класса.
Код:
class Point {
    private var __x:Number;
    private var __y:Number;

    public function point(x:Number, y:Number)
	{
		__x = x;
		__y = y;
	}

    public function get x():Number {
        return __x;
    }
    public function set x(value:Number):Void {
        __x = value;
    }
	
    public function get y():Number {
        return __y;
    }
    public function set y(value:Number):Void {
        __y = value;
    }
}


Последний раз редактировалось etc; 12.04.2007 в 11:32.
Старый 12.04.2007, 11:33
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
1. Код нужно оформлять тегами [code][/code];
2. У тебя есть метод point, но не объявлен конструктор Point. Код регистрозависим.

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:15.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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