Форум 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...

Alex T 25.12.2006 20:30

получается, что если передовать ссылку на сам объект класса ClassA в конструктор класса ClassB, то свойство param в классе ClassA д.б. public.

KidsKilla 25.12.2006 20:52

по-моему у автора большая беда с архитектурой приложения и пониманием основ ооп...

miramax 25.12.2006 21:05

Цитата:

Сообщение от Alex T
получается, что если передовать ссылку на сам объект класса ClassA в конструктор класса ClassB, то свойство param в классе ClassA д.б. public.

Логичнее если объект будет раздавать свойства своим "детям". Для отслеживания изменения параметра можно юзать геттеры /сеттеры.
И вобще, почему юзаются составные имена вместо массивов ?

Alex T 26.12.2006 13:04

Цитата:

Сообщение от KidsKilla
по-моему у автора большая беда с архитектурой приложения и пониманием основ ооп...

ммм, KidsKilla, спасибо за помощь...
если бы проблем не было, то не спрашивал бы...

KidsKilla 26.12.2006 13:16

Цитата:

Сообщение от Alex T
ммм, KidsKilla, спасибо за помощь...
если бы проблем не было, то не спрашивал бы...

тогда больше конкретики -- что есть, что нужно и с реальными примерами.
а там помощь будет.


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

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