Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.03.2011, 20:39
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 1  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
По умолчанию Получить геттер как функцию.

Вопрос прост. Решение не ясно.

Известно, что можно сделать так

Код AS3:
class Foo{
  private var _someMethod : Function;
  public function Foo(){
    _someMethod  = getName;
  }
 
  public function get name():String{
    return "name";
  }
 
  public function getName():String{
    return "name";
  }  
}
Но как можно получить первый вариант функции?
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 30.03.2011, 20:52
f.g.programmer вне форума Посмотреть профиль Отправить личное сообщение для f.g.programmer Найти все сообщения от f.g.programmer
  № 2  
Ответить с цитированием
f.g.programmer
 
Аватар для f.g.programmer

блогер
Регистрация: Sep 2010
Адрес: Россия
Сообщений: 137
Записей в блоге: 3
скорее всего никак, но как вариант
Код AS3:
public function getName():String{
    return name;
}

Старый 30.03.2011, 20:54
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 3  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,284
А зачем это надо?

Старый 30.03.2011, 20:55
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 4  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Код AS3:
public function get nameFunc():function
{
    return _someMethod()
}
Так не пойдет?

Старый 30.03.2011, 21:11
kseniya вне форума Посмотреть профиль Отправить личное сообщение для kseniya Найти все сообщения от kseniya
  № 5  
Ответить с цитированием
kseniya
 
Аватар для kseniya

Регистрация: Oct 2010
Адрес: Новосиб
Сообщений: 122
о как =)
Код AS3:
package {
	public class Foo {
		private var _someMethod:Function;
		public function Foo() {
			 _someMethod  = name;
		}
		public function get name():Function {
			return getName;
		}
 
		public function getName():String {
			return "name";
		}
	}
}
но зачем это надо.. непонятно!


Последний раз редактировалось kseniya; 30.03.2011 в 21:15.
Старый 30.03.2011, 21:41
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 6  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Цитата:
Сообщение от kseniya Посмотреть сообщение
о как =)
Код AS3:
package {
	public class Foo {
		private var _someMethod:Function;
		public function Foo() {
			 _someMethod  = name;
		}
		public function get name():Function {
			return getName;
		}
 
		public function getName():String {
			return "name";
		}
	}
}
но зачем это надо.. непонятно!
Так не заработет. Так как name, как нормальный геттер вернет String.

Уже, в общем-то, не надо.

Но не вижу принципиальной ненужности этого.
Я хотел подменять метод. Чтобы первый раз выполнялся один, потом другой.
Но решил другим путём.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 30.03.2011, 21:47
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Геттеры/сеттеры нужны для сокрытия реализации, разоблачение их как функции входит в противоречие с основным предназначением.
__________________
Отряд Котовскага

Старый 31.03.2011, 00:37
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 8  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ChuwY, если нельзя, но очень надо, то можно
Правда один раз геттер / сеттер должен быть вызван и содержать соответствующие фичи.
Смысл такой (не совсем понял просто в каком контексте собираетесь использовать)
Код AS3:
package {
	public class Foo {
		public function Foo() {
			getName();
		}
 
		private var _getNameRef:Function;
 
		public function get name():String {
			this._getNameRef = arguments.callee;
			return 'My name is Vasya';
		}
 
		public function getName():String
		{
			if (_getNameRef == null)
				return this.name;
			return _getNameRef();
		}
	}
}

Старый 31.03.2011, 16:16
ShadowsInRain вне форума Посмотреть профиль Отправить личное сообщение для ShadowsInRain Найти все сообщения от ShadowsInRain
  № 9  
Ответить с цитированием
ShadowsInRain
 
Аватар для ShadowsInRain

Регистрация: Mar 2011
Сообщений: 35
Сделать функции-обёртки вокруг геттера, забирать их.

Старый 31.03.2011, 16:53
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 10  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
мне мультик напомнило
"а секрет моего секретного секретноингредиентного супа...." )

прошу прощения за оффтоп, не сдержался )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Создать новую тему Ответ Часовой пояс GMT +4, время: 09:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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