+ -
当前位置:首页 → 问答吧 → 新手求指教关于抽象工厂,

新手求指教关于抽象工厂,

时间:2011-12-06

来源:互联网

今天想学习抽象工厂,但是在写代码的时候发现代码出问题,不知何解,还望高手指教。
C# code

public abstract class LogFactory
{
    public abstract Log Create();
}

public class EventFactory:LogFactory
 {
    public override EventLog Create()
    {
 return new EventLog();
    }
}



就这看不懂,老是报错,,
贴一下我看的博客地址,点击链接,

作者: wss541623   发布时间: 2011-12-06

我是菜鸟,工厂模式对我是神马啊

作者: tangserver   发布时间: 2011-12-06

你重写的Create()方法返回类型与抽象类里不一样

作者: sainmars   发布时间: 2011-12-06

引用 2 楼 sainmars 的回复:
你重写的Create()方法返回类型与抽象类里不一样

是啊,就是报错呀,你看博主那博客,就是那么写的,弄不懂

作者: wss541623   发布时间: 2011-12-06

这是多态的应用

作者: sainmars   发布时间: 2011-12-06

应该是:

public abstract class LogFactory
{
  public abstract Log Create();
}

public class EventFactory:LogFactory
 {
  public override Log Create()
  {
 return new EventLog();
  }
}

EventFactory的Create方法参数返回值必须和基类一样,

作者: stonespace   发布时间: 2011-12-06

他的代码打错了 应该是
public override Log Create()
  {
 return new EventLog();
  }

作者: sainmars   发布时间: 2011-12-06

EventFactory的Create方法参数返回值必须和基类一样,

+++++

作者: enter89   发布时间: 2011-12-06

public abstract class Factory
{
  public abstract object Create();
}

public class EventFactory:Factory
 {
  public override object Create()
  {
  return new EventLog();
  }
}



作者: ycg_893   发布时间: 2011-12-06