Некоторые из классов верхнего уровня можно создавать, а также вызывать как функции (например, new Number() and Number()
, new Boolean() and Boolean()
, new Array() and Array()
).
Обычно это используется для преобразования типов или в качествеярлык для реализации.Я хотел бы иметь возможность сделать то же самое:
public class Foo
{
public function Foo():void
{
//do something
}
}
public function Foo():Foo
{
//do some stuff;
return new Foo();
}
Возможно ли это?Если да, то как?
РЕДАКТИРОВАТЬ, чтобы уточнить:
Первоначально я хотел создать класс журналирования для взаимодействия с Flash / JavaScript и быть совместимым с различными браузерами.Я хотел использовать функцию log в качестве псевдонима метода в журнале class .Это заставило меня задуматься, могу ли я реализовать пользовательскую функцию приведения только потому, что.Теперь я понял, что это невозможно, но в любом случае было интересно поиграть.