У меня есть семейство классов в swift 4.2, и я хочу ограничить создание этих экземпляров только фабричным классом, в C ++ я могу применить это, объявив конструкторы частными и добавив ключевое слово friend в фабричный метод, напримерthis:
class A{
friend factoryClass::createInstance(int type);
private A();
}
class subA: private A{
friend factoryClass::createInstance(int type);
private subA() : A(){
}
}
class factoryClass{
static A* createInstance(int type){
switch(type){
case 0:
return new A();
case 1:
default:
return new subA();
}
}
}
Возможно ли сделать это в swift 4.2?Я новичок в этом.