@Markiv07

Как реализовать этот код(патерн) С++ на Java?

Переделываю порождающий патерн FactoryMethod с с++ на джаву и столкнулся с таким участком, не могу понять как реализовать его на языке Java
// Иерархия классов игровых персонажей
class Warrior
{
  public:
    virtual void info() = 0;     
    virtual ~Warrior() {}
};
  
class Infantryman: public Warrior
{
  public:
    void info() { 
      cout << "Infantryman" << endl; 
    };
};
  
// Фабрики объектов
class Factory
{
  public:    
    virtual Warrior* createWarrior() = 0;
    virtual ~Factory() {}
};

class InfantryFactory: public Factory
{
  public:    
    Warrior* createWarrior() { 
      return new Infantryman; 
    }
};


Буду признателен
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
Ну что-то типа:
interface Warrior
{
    void info(); // Кстати, почему void, а не string какой-нибудь?
}
  
class Infantryman implements Warrior
{
  public void info() { 
      System.out.println("Infantryman");
  }
}
  
// Фабрики объектов
interface Factory
{
    Warrior createWarrior();
}

class InfantryFactory implements Factory
{
    public Warrior createWarrior() { 
      return new Infantryman(); 
    }
}


Пишется очень легко, если хотябы поверхностно знать жаву. Так что прежде чем продолжать, тебе следует прочитать хотябы пару глав любой книги/учебника/курса по жаве.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы