Просмотр полной версии : как из объекта который находится в классе...
Juice_Green
20.01.2006, 10:22
всем привет, такой вопрос....
есть класс1, в этом классе1 есть массив - в котором находяться объекты другого класса2. Как вызывая метод класса2 обратится к свойствам или методам класса1.
Можно ли обратиться как то системно (что то вида parent.blabla) или надо передавать ссылку класса1 в класс2?
массив - в котором находяться объекты другого класса2
это как? ссылки на поля класса, или просто этим массивом пользуеться другой класс?.
Как вызывая метод класса2 обратится к свойствам или методам класса1.
эм ну не знаю, если классы дочерние от мувиклипа можно и через путь(_parent.blahblahblah ) правда не считаю это правильным.
если массив одинаковый, то можно сделать его статичным(static)
если нет, то через ссылку.
Juice_Green
20.01.2006, 13:34
нет массив не одинаковый ...
для примера есть класс кнопка
class btn {
....
function myfunc(){
//здесь надо обратиться к свойсту класса board
}
}
есть класс клавиатура, который состоит из объектов кнопок
class board{
private var key_array:Array=null;
function board(){
for (var i=0; i<10; i++) {
var tmp_btn:btn = new btn();
key_array[i] = tmp_btn;
}
}
}
теперь надеюсь вопрос понятен более менее
Dimchansky
20.01.2006, 15:31
class btn {
static var boards:Array;
....
function myfunc(){
//здесь надо обратиться к свойсту класса board -- ????? если именно к свойству класса - то только к статическому. Иначе к методу или св-ву объекта-экземпляра класса.
...
boards[i].somePublicMethod();
}
}
есть класс клавиатура, который состоит из объектов кнопок
class board{
function board(){
btn.boards.push(this);
}
}
теперь надеюсь вопрос понятен более менее
либо ссылками на объекты-экземпляры класса в глобале, что не есть гуд
ага, тока неясно к какому из boards[i] обращаться..
упрощенный рсклад (если экземпляры Btn создаются в Board):
отдаем ссылку конструктору вот и будет parent.blabla..
class Board{
var key_array : Array = [];
private var blabla='блабла';
function Board (){
for (var i = 0; i < 10; i ++) {
var tmp_btn : Btn = new Btn (this);
key_array [i] = tmp_btn;
}
}
}
///////////////////////
class Btn {
private var parent;
function Btn(p){
parent=p;
}
function myfunc(){
trace(parent.blabla);
}
}
//////////////
var board = new Board();
board.key_array[1].myfunc();//блабла
Juice_Green
23.01.2006, 07:36
to silin:
тоже была такая мысль, но сначала казалось что можно сделать как то проще ... что ж придется делать так, ибо другого выхода просто нет ...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.