无法在接口方法中创建抽象类的实例

Roo*_*Roo 2 c# asp.net abstract-class

我根据给我的文档创建了这个界面.(我需要使用第三方API进行数据库日志记录).我期望为getLogger()方法返回对象类型"Logger",为getDatabaseMgr方法返回对象类型"DatabaseMgr".但是,这些是抽象类.文档没有说明方法的作用,他们只是写了{...}.

如果我无法创建这些类的实例,那么我该如何返回它们呢?

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)
        {
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

Ahm*_*war 11

"abstract"一词意味着您无法创建此类的实例.您可以创建另一个继承自抽象类的类,并从子类(非抽象)类创建实例.