Javascript 在抽象类中实例化

Javascript 在抽象类中实例化,javascript,actionscript-3,Javascript,Actionscript 3,我有一个抽象类,它为多个子类提供特定的“基”行为。我想在这个抽象类中实例化一个单例。以下做法是否良好: a) 在抽象类中实例化一个类 b) 与单身汉一起做这件事(我知道这可能会让人不悦) 为了清楚起见,我将给出一个示例,实例化Singleton的方法是: public function createErrorRepository(repositoryType:String):void { this._errorFactory = ErrorFactory.getInstance();

我有一个抽象类,它为多个子类提供特定的“基”行为。我想在这个抽象类中实例化一个单例。以下做法是否良好:

a) 在抽象类中实例化一个类 b) 与单身汉一起做这件事(我知道这可能会让人不悦)

为了清楚起见,我将给出一个示例,实例化Singleton的方法是:

public function createErrorRepository(repositoryType:String):void { 
    this._errorFactory = ErrorFactory.getInstance();
    this._errorRep = this._errorFactory.createErrorRepository(repositoryType);
}
我有一些抽象的方法:

public function getTitle():String {
    throw new IllegalOperationError("Error - getTitle functionality not supported");
}
也许我想得太多了,但最好能得到一些确认,这是一个很好的做法

谢谢

克里斯

注意:我使用的是as3,但由于相似性,我也对Java进行了标记

以下做法是否良好: a) 在抽象类中实例化一个类

这可能取决于设计,但是如果在抽象类中创建一个类的实例是所有子类都应该拥有的,那么在抽象类中创建该实例并没有什么错。在Java中,如果子类需要访问受保护的字段,则可以使用这些字段来完成此操作

b) 用一个单身汉做这个

如果singleton是抽象类的所有子类都需要的重对象(例如许多字段、方法等),那么最好只在它们之间共享一个实例。看起来ErrorRepository很适合这个描述,因为似乎没有理由存在多个实例


最后一个想法:如果没有编写ErrorFactory,请确保
ErrorFactory.createErrorRepository(repositoryType)
方法在所有情况下都返回相同的实例。(即使是你写的,检查也不是一个坏主意。我是根据经验说的。)

你能给出一个代码示例吗?一般来说,在抽象类中实例化一个类没有什么错。ActionScript和Java不是真正相似的语言,除了常见的类似C的语法。感谢您的回答,到目前为止,我意识到Java和as3并不相似,但我相信Java开发人员可以给我一个合适的答案,为歧义道歉!