Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Использование своих классов (http://www.flasher.ru/forum/showthread.php?t=94432)

demiurger 11.04.2007 22:23

Использование своих классов
 
Добрый вечер, ребята. (ну и дамы конечно)

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

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

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

kmk 11.04.2007 22:30

Код:

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;
}


etc 11.04.2007 22:39

kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.

kmk 11.04.2007 22:41

Цитата:

Сообщение от __etc
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.

я долго думал вписать ли мне геттеры и сетеры или обойтись функциями но решил что и так пойдет. тем более работать будет. ( не правильно но флеш съест ).

etc 11.04.2007 22:58

Мой пост не был понят. Прочтите ещё раз. Я ничего про геттеры и сеттеры не говорил.

kmk 11.04.2007 23:01

я все понял и немного утрировал ))

demiurger 11.04.2007 23:43

Хм....
Большое спасибо.. Я щас дома, но на работе делал что то подобное, и не работало, завтра сравню.

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

etc 11.04.2007 23:44

Конструкторы и геттеры с сеттерами тут ничего общего не имеют. Просто товарищ kmk ввел своими сеттерами в заблуждение, хотя я про них ничего не говорил.

demiurger 12.04.2007 10:11

Ребята, все работает. Но как то странно. Как только я объявляю геттеры и сеттеры, работать перестает, я не хочу чтоб напрямую был доступ к атрибутам класса.
Код:

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:33

1. Код нужно оформлять тегами [code][/code];
2. У тебя есть метод point, но не объявлен конструктор Point. Код регистрозависим.


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

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