有关面向对象编程的基础问题

mqmmx 2005-06-21 10:22:58
我写了一个最门用于数据库处理的类(DBcls)(包括,建立联接、执行命令、返回查询结果及错误等内容)。
我还写了一个公共窗体的类(PublicFrm)(从windows.form继承),工程的其它窗体都继承于这个窗体。
现在我希望每个窗体都能用到那个数据库处理的类,我在(PublicFrm)中定义(DBcls)为static好吗?这样用会有什么问题吗?还是我在每个窗体中分别定义一个new DBcls比较好?请各位指点一二。小弟初学请说得尽可能简单些,多谢。
...全文
147 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mqmmx 2005-06-22
  • 打赏
  • 举报
回复
to:upshania
你说定义接口,那能不能给段代码我参考一下。
JackLucifer 2005-06-22
  • 打赏
  • 举报
回复
我个人感觉你可以把数据库连接和数据库操作分开到两个类,数据库连接类就用static,这样建立再多的form应该也只有一个连接,而数据库操作则不用static,不知道是否可行?
upshania 2005-06-22
  • 打赏
  • 举报
回复
定义一个接口。。。

一个类可以继承多个接口的
cuike519 2005-06-22
  • 打赏
  • 举报
回复
我认为数据访问对象定义成static的是可以的。
fellowcheng 2005-06-22
  • 打赏
  • 举报
回复
我做的是把数据库类作为参数传递到需要用到的窗体
mqmmx 2005-06-22
  • 打赏
  • 举报
回复
线程什么的不是很了解,但我的程序好像不用线程,所以是个单线程的东东,应该没问题吧。
我写的程序也就是一个与用户一问一答的东西,用户按了什么按键我就作什么工作,用户什么也不做,我的程序同样什么也不会去做的,这是不是算单线程?线程是否安全呢?
sarcophile 2005-06-21
  • 打赏
  • 举报
回复
可以定义为static,本质上就是全局变量。但需要你的DBcls是线程安全的,不然多个窗体同时用可能会有冲突
  • 打赏
  • 举报
回复
定义一个静态的类,你需要公共的方法都定义成shared 就可以实现了
mqmmx 2005-06-21
  • 打赏
  • 举报
回复
还有其它人说说意见吗?其实我只是想定义一个像vb6中的模块级的类,如果每个窗体都new一个那窗体间数据的传递我还要再写方法,那很累的,有没有像vb中的模块一样的方法。
xzhy80 2005-06-21
  • 打赏
  • 举报
回复
up
wxqq2001 2005-06-21
  • 打赏
  • 举报
回复
在(PublicFrm)中定义(DBcls)为static 肯定不行.这样会导致多个窗体时的混乱.

个人感觉还是不要把数据处理的类放到窗体类中.用到的时候再new好了.

marvelstack 2005-06-21
  • 打赏
  • 举报
回复
这个要考虑你的DBcls类是不是线程安全的。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧