![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
Здравствуйте.Может быть я что то не понимаю, но у меня такая проблемма.У меня есть некий базовый класс.И есть некий расширяемый от него класс.Как мне передать значение переменной из базового класса в расширяемый класс?
package src { public class A { public var rrr:String; public function A() { rrr ="Hello world!"; } } } Вобщем мне надо чтобы из класса наследника В было видно значение переменной rrr класса A.Хэлп ми плиз.... |
|
|||||
|
Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
|
super()
__________________
Я просто добрый шутник. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
super()???
А если быть точным, то как его применять.Чего то не получается((( |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В коде ошибок нету. И так должно все работать.
super() неявно вызывается. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
у меня есть файл scr.as
package { public class scr { public var rrr:String; public function scr() { rrr ="Hello world!"; } } } выдает ошибку 5000: В класс "scr" должен входить подкласс "flash.display.MovieClip", так как он связывается с символом такого же типа в библиотеке. Добавлено через 3 минуты А на счет super() я так понял надо писать Если я не прав, то поправьте меня потому что в хэлпе я примера не нашел.Только это |
|
|||||
|
Регистрация: Feb 2010
Сообщений: 33
|
Цитата:
super - это обращение к классу-предку, например, если у вашего базового класса конструктор принимает параметры - то надо в конструкторе подкласса вызвать или если вы переопределили в своем классе метод, и нужно вызвать метод предка, то обращение к нему А super(rrr) выдаст ошибку, т.к. конструктор вашего базового класса не принимает аргументов. Последний раз редактировалось dixus; 03.03.2010 в 19:48. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
вобщем если кому-то надо то я сделал
файл scr.as package { import flash.display.MovieClip; public class scr extends MovieClip { public var Str:String; public function scr() { Str ="Hello world!"; } } } package { public class scr1 extends scr{ public var newStr:String; public function scr1() { newStr = super.Str; } } } package { import flash.display.MovieClip; public class init extends MovieClip { public function init() { var ttt:scr = new scr(); var rrr:scr1 = new scr1(); trace("22222"+ttt.Str); trace("33333"+rrr.newStr); } } } trace("22222"+ttt.Str); trace("33333"+rrr.newStr); это так к примеру |
|
|||||
|
.
|
Цитата:
PS Проблема всегда писалось с одной "м". |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 56
|
Вот еще в чем загвоздка.Подскажите пожалуйста почему вылезает ошибка?
Вот главный класс package { import flash.display.MovieClip; public class init extends MovieClip { public var www:String; public function init() { www = "Hello world!"; var ttt:scr = new scr(); } } } package { import flash.display.MovieClip; public class scr extends init { public function scr() { trace(super.www); } } } Компилятор мне сообщает ошибку |
|
|||||
|
Регистрация: Feb 2009
Адрес: Ялта, Севастополь, Одесса
Сообщений: 52
|
вот это происходит в Вашем коде : ......new scr() -> new init() -> new scr() -> new init()......
называется "бесконечная рекурсия" Последний раз редактировалось Elser; 04.03.2010 в 12:29. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|