子类继承基类的方法,子类不重写方法,重写sql语句,可不可以
具体情况是这样。我创建了一个基类,里面写了一个操作数据库的方法GetList,这个方法用到一个sql语句,sql语句写在SqlList属性里。然后基于这个基类派生一个子类...
具体情况是这样。我创建了一个基类,里面写了一个操作数据库的方法GetList,这个方法用到一个sql语句,sql语句写在SqlList属性里。然后基于这个基类派生一个子类,这个子类里不重写GetList方法,但重写SqlList属性,以此达到不同的子类通过修改子类自身的sql语句来实现不同的数据库操作。这样可以吗,我该怎么做,自己试了几次,都不正确,代码始终调用的基类中的SqlList属性,不会调用子类的SqlList属性,重写了也没走,为什么
补充一下,是c#语言 展开
补充一下,是c#语言 展开
展开全部
这样是可以的,基类定义public string SqlList属性
子类不要再重写属性,只对基类属性赋值。
另一种方法是,语句作为方法的参数传入也行
子类不要再重写属性,只对基类属性赋值。
另一种方法是,语句作为方法的参数传入也行
追问
这样确实可以,可后台声明的不是子类,是基类,所以子类没机会给SqlList属性赋值。
我期待的效果就是,在页面后台声明的数据库操作类就是基类,调用基类的方法,然后通过子类的SqlList属性决定走哪个sql语句。我见过这样的源码,是可以实现的,只是没研究明白。
追答
子类继承基类时,基类的公共属性也会继承,所以基类的sqllist才要声明为public,如果sqllist在子类中声明,那基类中肯定访问不了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |