Форум 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=89854)

Alex T 25.12.2006 18:14

ООП. Наследование?
 
Код:

var a1=new ClassA();
var a2=new ClassA();

внутри a1 создаются объекты a1b1,a1b2,a1b3,a1b4 класса ClassB
внутри a2 создаются объекты a2b1,a2b2,a2b3,a2b4 класса ClassB

как сделать, чтобы например при :
Код:

a1.param=1;
a2.param=2;

во всех объектах класса ClassB, созданных внутри a1 свойство param тоже было равно 1 и соответственно во всех объектах класса ClassB, созданных внутри a2 - было равно 2?

заранее всем спасибо...

Sneg 25.12.2006 18:23

Написать set'er в класс А примерно таким образом:
Код:

public function set param(value:Number):Void{
    a1b1.param=value;
    a1b2.param=value;
    .........................
};


etc 25.12.2006 18:33

Или в ClassB (если это мувики):
Код:

public function get param():Number {
    return this._parent.param;
}

Только я бы так никогда не сделал :D

iNils 25.12.2006 19:03

Класс ClassB расширяет ClassA?

Alex T 25.12.2006 19:07

нет, а если да? т.е. с помощью наследования можно решить проблему?

etc 25.12.2006 19:10

Скорее всего нет, поэтому вообще непонятно, причём тут наследование…

Alex T 25.12.2006 19:45

если класс ClassB не будет расширяет ClassA и при создании объектов класса ClassB, в конструктор передавать ссылку на объект класса ClassA (в котором они создаются)...
это будет выходом из ситуации?

etc 25.12.2006 19:50

Ну да. Что-то вроде:
Код:

public function get param():Number {
    return this.classAReference.param;
}


iNils 25.12.2006 20:09

А нужно ли объектам a1b1, a1b2, a1b3, a1b4 иметь собственный param, или вполне можно обойтись param от a1?

Alex T 25.12.2006 20:24

вполне можно обойтись и param от a1, т.е. просто объекты созданные в a1 должны иметь доступ к param a1...


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

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