我已經根據提供給我的文檔創建了此接口。 (我需要使用第三方API進行數據庫記錄)。 我期望爲getDatabaseMgr方法的getLogger()方法和對象類型「DatabaseMgr」返回對象類型「Logger」。但是,這些是抽象類。文檔沒有具體說明該方法的用途,他們只是寫了{...}。無法在接口方法中創建抽象類的實例
如果我無法創建這些類的實例,那我該如何返回它們?
using System;
using System.Data.Common;
namespace com.XXXXXXXXXX.api
{
public class ApiFactory
{
public static ApiFactory getInstance() {
return new ApiFactory();
}
public Logger getLogger(String Id, Type type)
{
}
public DatabaseMgr getDatabaseMgr(String Id)
{
}
}
public abstract class Logger
{
public String Id { get; set; }
public abstract void trace(String message);
public abstract void debug(String message);
public abstract void info(String message);
public abstract void warn(String message);
public abstract void error(String message);
public abstract void alert(String message);
public abstract bool isTraceEnabled { get; }
public abstract bool isDebugEnabled { get; }
public abstract bool isInfoEnabled { get; }
public abstract bool isWarnEnabled { get; }
public abstract bool isErrorEnabled { get; }
}
public abstract class DatabaseMgr
{
public String Id { get; set; }
protected DatabaseMgr(String Id)
{
}
}
}
如果他們沒有提供抽象類的具體實現,那麼你總是可以創建自己的實例並返回它們的實例。 –
首先,您必須創建兩個分別從'Logger'和'DatabaseMgr'派生的非抽象類,然後返回這些新創建的類的對象。 – Marshal