![]() |
|
||||||||||
|
|||||
|
всем привет!
такой вот уменя вопрос создаю я к примеру супер класс: потом создаю суб-класс: package modules{ public class SubMyObject extends MyObject{ public var myParam:String = "Hello"; public function SubMyObject() { }//end constructor } } вопрос: можно ли как то в супер классе(MyObject) достучаться к перемнной myParam ? или нужно делать так типа а в суперклассе уже ловить в функции init?
__________________
мира и гармонии |
|
|||||
|
[+4 06.05.14]
|
Что то непонятно вы описали взаимодейтсвие. Особенно вот это :
Цитата:
Ну а вообще если только перменную надо вывести и она у вас public const , то импортируем класс создаем новый экземпляр и выводим что надо. Тоесть если отвечать на вопрос Цитата:
package { import modules.SubMyObject; public class MyObject extends Sprite{ public function MyObject() { trace(SubMyObject.myParam) } } } Или да Последний раз редактировалось in4core; 12.09.2010 в 02:32. |
|
|||||
|
Цитата:
А вот это - правильный ответ Ура!!! - мой тысячный пост =) готов принимать поздравления
__________________
...вселенская грусть Последний раз редактировалось gloomyBrain; 12.09.2010 в 02:47. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
я вот честно не понял, почему суперкласс вообще зависит от наследуемого?
Суперклас должен быть независим, а крутить все что нужно должен уже наследуемый. |
|
|||||
|
всем спасибо! gloomyBrain - принимайте поздравления, 1к это не три скрипта ***сать
спасибо за ответы, идеи и предложения! теперь по порядку: то in4core я имею ввиду что класс subMyObject я буду использовать просто гдето в моем приложении (тоесть вообще не свзяанным с MyObject) наврно стоит подробнее описать то что я делаю реализация "резины": у меня есть объекты котороых объеденяет то что они должны менять свое положение в зависимости от размеров сайта и потом менять свои координаты если бразузер ресайзится. Вот и я подумал что хоть гдето впервые в жизни можно использовать наследование вот и создаю базовый класс в котором описываю "общее" поведение для всех объектов что будут на сайте! потом создаю собственно сами объекты-классы и расширяю их базовым (и передаю через super.init параметры типа позиции горизонтали и вертикали) вот! но чегото подумал что можно без инита обойтись и решил спроситьi.o вот у меня как то выходит что зависит, - в зависимости от параметров которые заданы для суб-класса , супер класс ведет себя по разному (но случаев не мгого всего 6, а объектов может быть много поэтому и решил использовать наследование) спаисбо за ответы!
__________________
мира и гармонии |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
тогда правильно использовать super.init, т.к суперкласс не зависит в этом случае от наследуемого.
gloomyBrain, поздравляю! ) |
|
|||||
|
Помоему, это канонический случай "Шаблонного метода" (довольно часто используется, т.е. метод родителя делегирует часть своих обязанностей потомкам - в данном примере это конструктор и делегирует он всего навсего определение значения "myParam"):
package { public class MyObject extends Sprite{ protected function getMyParam():String { return "My default parameter"; } public function MyObject() { trace (getMyParam()); } } } package modules{ public class SubMyObject extends MyObject{ override protected function getMyParam():String { return "Hello"; } public function SubMyObject() { }//end constructor } } Последний раз редактировалось expl; 12.09.2010 в 20:36. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 21:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|