Ни частные конструкторы, ни абстрактные классы не были определены в старом стандарте ECMAScript 4, на котором основан ActionScript 3. Если я правильно помню, рабочая группа ECMAScript решила не реализовывать эти более сложные функции ООП, поскольку особое внимание уделялось простоте и обратной совместимости со старыми версиями ECMAScript. Я интерпретировал то, что услышал от них, как «мы можем добавить эти функции позже, но давайте это сделаем медленно». Например, абстрактное ключевое слово является зарезервированным словом, так что имейте это в виду.
Стоит отметить, что рабочая группа решила перезапустить следующую версию языка с новым акцентом. Это усилие называется «Гармония», потому что две конкурирующие подгруппы имели очень разные мнения о том, куда ECMAScript должен пойти в будущем. Это немного компромисс. Гармония будет развиваться гораздо медленнее, чем старая ES4, и даже синтаксис класса, который уже был реализован в AS3, будет изначально исключен из стандарта. Другими словами, они будут на некоторое время выглядеть более похожими на сегодняшний JavaScript, чтобы сосредоточиться на некоторых других функциях, важных для группы, которая собиралась перейти. Это станет ES3.1. Позже классы и некоторые из более похожих на Java функций ООП будут пересмотрены для нового ES4.
А как же AS3? По сути, Adobe прыгнула за руль, используя стандарт, который еще не был готов, и они стали немного политиками. Однако Adobe намерена продолжать участвовать в рабочей группе ECMAScript , и они, вероятно, рассмотрят вопрос о добавлении функций, рекомендованных рабочей группой. Тем не менее, AS3 может никогда не быть полной (или полностью совместимой) реализацией будущего ECMAScript. Что это значит? Что ж, поскольку они снова нестандартны, у Adobe есть возможность добавлять функции в ActionScript, даже если эти функции не являются частью стандарта. Если вы чувствуете, что абстрактные классы или частные конструкторы важны для вас как разработчика, запросите эти функции в общедоступной базе данных ошибок проигрывателя Flash Player или проголосуйте за существующие запросы функций, если они уже есть.