![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2007
Сообщений: 4
|
Добрый вечер, ребята. (ну и дамы конечно)
Сразу скажу, что совсем зеленый в акшн скрипте. Возник вопрос следующего характера: Есть два класса point и polyline В первом, два отрибута - x и y соответсвенно, определяют кординаты точки. Сохраняю в файл point.as. Во втором классе хочу использовать первый, для этого объявляю атрибутом второго класса private аттрибут, типа первого класса, т.е. точка. Так вот, почему такая конструкция не работает. Если есть пример такой реализации - пожалуйста, приведите. Если конкретнее, то как в других классах использовать уже существующие? |
|
|||||
class Point {
function Point() { //конструктор ;)
x = 0;
y = 0;
}
var x:Number;
var y:Number;
}
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
kmk, а права доступа для x, y и конструкторов указывать необязательно? По дефолту оно, конечно, public, но лучше указать. Яснее будет.
|
|
|||||
|
Цитата:
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Мой пост не был понят. Прочтите ещё раз. Я ничего про геттеры и сеттеры не говорил.
|
|
|||||
|
я все понял и немного утрировал ))
|
|
|||||
|
Регистрация: Apr 2007
Сообщений: 4
|
Хм....
Большое спасибо.. Я щас дома, но на работе делал что то подобное, и не работало, завтра сравню. Я знаю про геттеры и сеттеры. Спасибо. Да и наверное лучше объявить конструкторы как паблик... |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Конструкторы и геттеры с сеттерами тут ничего общего не имеют. Просто товарищ kmk ввел своими сеттерами в заблуждение, хотя я про них ничего не говорил.
|
|
|||||
|
Регистрация: 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. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
1. Код нужно оформлять тегами [code][/code];
2. У тебя есть метод point, но не объявлен конструктор Point. Код регистрозависим. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|