为什么这里用的是abstract class ,原理是什么,为什么要这样设计,如果这样设计接下来又怎么使用?
public abstract class BaseHibernateObjectDao
extends HibernateDaoSupportimplements BaseObjectDao {
......
}
问题补充:
我之前自己的写法是
public class BaseHibernateObjectDao
extends HibernateDaoSupportimplements BaseObjectDao {
......
}
然后每个实体dao extends BaseHibernateObjectDao ,那么BaseHibernateObjectDao中的方法实现就会被其它的实体Dao所拥有,而每个实体dao自己的部分可以实现自己的dao接口.那和前面的abstract class有什么不同?
abstract class的使用
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- mayday85 2008-11-25 12:59关注
[quote]那和前面的abstract class有什么不同[/quote]
不同就在于你写的BaseHibernateObjectDao也可以new出来 被别人使用
你自己写代码可能看不出来不同 因为你铁定不会去用BaseHibernateObjectDao
但是如果分工是你写dao,别人写biz
那说不定别人就会去用BaseHibernateObjectDao了,而这不是你希望的大家都是新人,自己写底层类给别人去用的机会少
但是你可以看看java的类库 比如集合类java.util.AbstractCollection
你只能用现成的HashMap Hashset LinkedList之类
但是拥有他们共有方法的AbstractCollection你就用不了
首先这里面可能有未实现的方法 也可能里面的方法根本不够用的
加上了Abstract就不会让不知情的人瞎用另外有天你觉得HashMap Hashset LinkedList都TMD垃圾
自己想写一个集合类 你可以直接继承AbstractCollection 省力得多说了这么多 这个问题必须是多人开发才能看出优点 你自己一个人写 当然不明白了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在炒股软件中,爬到我想看的日k线
- ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
- ¥15 seatunnel 怎么配置Elasticsearch
- ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
- ¥15 (标签-MATLAB|关键词-多址)
- ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
- ¥500 52810做蓝牙接受端
- ¥15 基于PLC的三轴机械手程序
- ¥15 多址通信方式的抗噪声性能和系统容量对比
- ¥15 winform的chart曲线生成时有凸起