怎么样设计类好了?请大家看看怎么样设计好呀

leng_cn 2003-07-17 12:15:54
有一个类,这个类是查库存的,通过
传递一个查询类型判断是查哪一个库
存,比如说原材料库存,或是成品库
存,当然用这一个类就可以实现,但
我也可以做两个不同的类来实现,原材
料的用原材料的查库存,成品的用成品
的类来查库存,这时候我想知道是把这
一个类分成两个好了,还是说用一个类
好?谢谢
请大家发表发表自己的观点和看法
...全文
34 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
leng_cn 2003-07-18
  • 打赏
  • 举报
回复
大家说的都很正确,我在应用中也会这样做的,
但由于他们两者没有一个共用的方法,因此设计
成了一个接口,如果他们有共用的方法就应该设计
一个抽象类,然后他们各自都有各自的类来实现
接口或是继承于这个抽象类,谢谢参与,我给分了,
希望大家能够经常参与到分析设计的话题中来,这
里好象人气不够旺,软件要做好我觉得分析设计是
非常重要的,希望大家共同努力为中国的软件事件
做出一点成绩来,谢谢大家,同时有做分析设计的
朋友可以MSN联系
xiaofeng_cn@hotmail.com
语言没有边界,重要的是设计的思想,希望大家捧
场呀:)
stonespace 2003-07-18
  • 打赏
  • 举报
回复
一个类和两个类的方案都可以,不过从表面看来用一个类比较好,因为如果设计两个类的话,这两个类的差别就太小了,这样两个类之间有很多相同的逻辑和代码,一旦要修改就要改两个地方,容易出错。

再设计一个抽象类来提取共同代码的方案最不可取,增加类的数目和继承的层次弄不好不会提高可扩展性,反而会降低可扩展性。

如果查询方法不一样,用两个类比较好。
lvkai 2003-07-18
  • 打赏
  • 举报
回复
up
leng_cn 2003-07-17
  • 打赏
  • 举报
回复
哈哈,也就是说同样的两个类呀,这个基类不如说是一个
接口,这个基类做什么了?
愉快的登山者 2003-07-17
  • 打赏
  • 举报
回复
创建一个基类:查库存类,包括查询库存的属性和方法;
在这个基类上派生两个类:查询成品库存类和查询原材料库存类,分别增加各自的独特属性和方法,并访问不同的库存表。
XACZ 2003-07-17
  • 打赏
  • 举报
回复
不要把抽象类和超类的概念搞混了呀,抽象类只是在建模时使用,不能实例化,当然也没办法实现,可以实现的是抽象类的子类(即具体类)。
对于顶楼的问题,说白了就是多态,定义一个查询的抽象类,这个类有可以抽象的操作,而实现有多种形态,比如查询成品,查询原料。
不知道说的对不对?
91bct 2003-07-17
  • 打赏
  • 举报
回复
同意 zhaoxichao(小西) :

我认为是抽象类,两个字类都需要查询功能,自然基类就可以写一个通用的查询方法了
leng_cn 2003-07-17
  • 打赏
  • 举报
回复
谢谢大家的参与呀,可你们也说清楚点呀,
比如说这个基类是什么类,一般的类了,
还是抽象类,如果两个类要共用一个方法,
那我当然是用一个抽象类来做好,但如果
没有共用的方法,也就是说他们的方法实现
是不一样的,那我觉得还是用接口好,不知道
我的说法对吗,请高手指正呀
zhaoxichao 2003-07-17
  • 打赏
  • 举报
回复
同意tj_dns(愉快的登山者)
这样便于扩展
可能以后有别的查询类型
remanwang 2003-07-17
  • 打赏
  • 举报
回复
当然是两个类了,明明是两个对象,为什么非用一个类?
leng_cn 2003-07-17
  • 打赏
  • 举报
回复
public interface IQuery {
public dataset query();
}
class cl1:IQuery
{}
class cl2:IQuery
{}
AechoJohn 2003-07-17
  • 打赏
  • 举报
回复
基类做其性的东西,比如数据库操作,相同的属性....

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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