Просмотр полной версии : Использование своих классов
demiurger
11.04.2007, 22:23
Добрый вечер, ребята. (ну и дамы конечно)
Сразу скажу, что совсем зеленый в акшн скрипте.
Возник вопрос следующего характера:
Есть два класса point и polyline
В первом, два отрибута - x и y соответсвенно, определяют кординаты точки. Сохраняю в файл point.as. Во втором классе хочу использовать первый, для этого объявляю атрибутом второго класса private аттрибут, типа первого класса, т.е. точка. Так вот, почему такая конструкция не работает. Если есть пример такой реализации - пожалуйста, приведите.
Если конкретнее, то как в других классах использовать уже существующие?
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;
}
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.
я долго думал вписать ли мне геттеры и сетеры или обойтись функциями но решил что и так пойдет. тем более работать будет. ( не правильно но флеш съест ).
Мой пост не был понят. Прочтите ещё раз. Я ничего про геттеры и сеттеры не говорил.
я все понял и немного утрировал ))
demiurger
11.04.2007, 23:43
Хм....
Большое спасибо.. Я щас дома, но на работе делал что то подобное, и не работало, завтра сравню.
Я знаю про геттеры и сеттеры. Спасибо. Да и наверное лучше объявить конструкторы как паблик...
Конструкторы и геттеры с сеттерами тут ничего общего не имеют. Просто товарищ 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;
}
}
1. Код нужно оформлять тегами ;
2. У тебя есть метод point, но не объявлен конструктор Point. Код регистрозависим.
demiurger
12.04.2007, 11:49
__etc, огроменное спасибо! Все заработало!
За код извини, я не нашел кнопочки, PHP есть, а вот код не нашел.
Еще раз благодарю
Кнопка кода выглядит как кнопка с решеткой «#».
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.