当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《无法在接口方法中创建抽象类的实例》经验,为你挑选了1个好方法。

我根据给我的文档创建了这个界面.(我需要使用第三方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)
        {
        }

    }
}

Ahmed Anwar.. 11

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



1> Ahmed Anwar..:

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

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有