Форум 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)
-   -   ооп во ActionScript (http://www.flasher.ru/forum/showthread.php?t=121017)

dimarik 10.02.2009 11:35

По AS2 почитайте Колина Мука, например. Есть у него и по AS3 книжица, страниц так на 1к.

axiom 12.02.2009 14:04

Доброго всем времени суток!
Код AS1/AS2:

import ClassA;
class ClassB{
private var retData:String;
funcion getData():String{
retData = ClassA.getMetod();
return retData;
}

Поясните пожалуйста,мне обязательно надо наследовать ClassA,что бы воспользоваться его нужным мне статическим методом?

Добавлено через 1 минуту
Прости те за ошибки:rolleyes:

chingachgoog 12.02.2009 14:46

Вы же сами написали код. Работает? А наследования там нет.

iNils 12.02.2009 14:51

Статические методы и свойства не наследуются.

axiom 12.02.2009 14:53

Понял!А могу ли я просто импортировав класс вообще и пользоваться?

Добавлено через 2 минуты
Мне же не нужно наследование,а только то что возрощает нужный мне метод,как быть?

iNils 12.02.2009 15:02

Смотрите свой код выше, там все как надо.

axiom 12.02.2009 15:19

Inils простите,но если не горите желанием обьяснить чайнику в чём его ошибка ,не бросайтесь отговорками(код не рабочий даже с соблюдением синтаксиса);

Добавлено через 3 минуты
There is no method with the name 'ClassA.'.

Добавлено через 3 минуты
There is no method with the name 'ClassA.'.

Добавлено через 5 минут
простите ЭВМ старенький

iNils 12.02.2009 15:29

axiom, чайники на кухне. Здесь люди, одни думают, другим думать лень, поэтому они начинают говорить другим, что и как те должны делать.
Вы спросили
Цитата:

мне обязательно надо наследовать ClassA,что бы воспользоваться его нужным мне статическим методом
вам сказали, что статические методы не наследуются и в вашем коде наследования тоже нет, а происходит вызов статического метода getMetod класса ClassA.
Об ошибке не слова. Так как какого вы мне пишите, про отговорки, вместо того чтобы подумать?
Если класс ClassA кривой, это не мои проблемы, что вы его не показали.

А теперь о внимательности. Мой ник iNils, а не Inils.

axiom 12.02.2009 16:03

Извиниюсь за выше сказаное в ваш адрес.
Код AS1/AS2:

class ClassA{
private var str:String;
        static function getMetod():String {
                str = new Date().toString();
                return str;
        }
}

Добавлено через 1 минуту
private static var str:String;//поправка

iNils 12.02.2009 16:15

Переменные класса нужно создавать тогда, когда они используются в любом месте класса, иначе создавать локальные.
Код AS1/AS2:

class ClassA{
        static function getMetod():String {
                var str:String = new Date().toString();
                return str;
        }
}

Код AS1/AS2:

import ClassA;
class ClassB{
        function getData():String{
                var retData:String = ClassA.getMetod();
                return retData;
        }
}



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

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