日期:2014-05-20  浏览次数:20666 次

我实例化了一个子类,为什么不能调用子类的方法,怎么可以解决?

  public class ModuleSysConfigInfo//父类
  { .... }
 public class ModuleSysConfigInfo_2 : ModuleSysConfigInfo//子类
  {.........}



  private ModuleSysConfigInfo ConfigInfo = null;//主程序
  ConfigInfo = new ModuleSysConfigInfo_2(sPath_FileName_Config);//主程序

------解决方案--------------------
是不是加了private了
------解决方案--------------------
可以的。你的ModuleSysConfigInfo_2类里面是不是都是私有方法。
------解决方案--------------------
父类是不能调用子类的方法的。因为你定义的变量类型是父类ModuleSysConfigInfo,所以不能调用子类的方法。
举个例子。人分男人女人,我先登记你是个人了。但不知道你是男人还是女人。女人有女人特有的方法,比如说生孩子。这时候我想调用你的生孩子方法,如果你是男人,。。。。。。。。。。。。
------解决方案--------------------
如果想调用,必须能确认是哪一种子类。
private ModuleSysConfigInfo ConfigInfo = null;//主程序
ConfigInfo = new ModuleSysConfigInfo_2(sPath_FileName_Config);//主程序

ModuleSysConfigInfo_2 temp = (ModuleSysConfigInfo_2)ConfigInfo;
temp.XXXXXXXXXXXXXXXXX();