Просмотр полной версии : Вопрос о конструкторе классов в AS3.0
Гробовщик
15.03.2007, 08:07
Скажте, конструктор класса может быть только public? В предыдущем AS он мог быть и private и это позволяло реализовать шаблон sinleton. В этой версии AS флекс говорит, что конструктор только паблик...((
vooparker
15.03.2007, 09:55
Да ты абсолютно прав, конструктор может быть только public и никак иначе. Насчет паттерна Одиночка, вот здесь можно посмотреть на реализацию этого паттерна на AS3 http://www.onflex.org/code/
Просто надо дополнительные условия поставить и все. Хотя да, public only. Не знаю зачем, видимо жертва стандартизации.
BlooDHounD
15.03.2007, 13:17
есть ещё так называемые приватные классы :) можно в контркторе поставить параметром экземпляр такого класса. его сможет реализовывать только класс одиночка.
Это всё в одном файле надо написать, кто не в курсе...package asd {
public class Singletone {
private static var _instance:Singletone;
public static function getInstance():Singletone {
if (!_instance) _instance = new Singletone(new SingletoneArgument());
return _instance;
}
public function Singletone(arg:SingletoneArgument) {
}
}
}
internal class SingletoneArgument {
}Ни у кого кроме Singletone не будет доступа к SingletoneArgument. Соответственно конструктор может вызвать только он сам.
Почему тему синглтонов так обсуждают ?
Неужели так трудно юзать приватную статическую переменную ?
BlooDHounD
15.03.2007, 16:59
miramax, обсуждают не приватную статическую переменную, а публичный конструктор. читать надо внимательно.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.