piromanlynx
@piromanlynx
Системный администратор в Perfect Solutions

Интерфейс и возвращаемый тип в Java. Как быть?

Есть код:
public interface DfgDbAdaptee {
   public boolean checkTableExists(String tableName) throws DfgFatalException;
}

public class DfgDbSqliteAdapter implements DfgDbAdaptee {
   public boolean checkTableExists(String tableName) throws DfgFatalException
   {
    .....
   }
}

public class DfgDbFMDBAdapter implements DfgDbAdaptee {
   public boolean checkTableExists(String tableName) throws DfgFatalException
   {
    .....
   }   
}

public class DfgDb {
   public static ??? Factory()
   {
      int dbType = DfgAppConfig.getDbType();
      if (dbType == DfgAppConfig.DBTYPE_SQLITE){
             return new DfgDbSqliteAdapter;
      }else if (dbType == DfgAppConfig.DBTYPE_FMDB){
             return new DfgDbFMDBAdapter;
      }
      throw new DfgConfigException("Unknown db type in config");
   }
}

//и гдето в коде вызываем:
??? db = DfgDb.Factory();
db.checkTableExists(new String("lalala"));


Собственно вопрос — как описать тип который в коде выше показан как три вопроса? Суть в том что Factory должен возвращать любой класс имеющий реализацию интферейса DfgDbAdaptee.
  • Вопрос задан
  • 3353 просмотра
Решения вопроса 1
@Artyushov
Просто вместо вопросиков пишете DfgDbAdaptee. На то и нужны интерфейсы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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