当前位置: 首页 > news >正文

#OO之接口-DAO模式代码阅读及应用

1.StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?

存储底层结构:StudentDaoListImpl基于动态数组存储学生;StudentDaoArrayImpl基于普通数组存储,长度是固定的。
初始化要求:StudentDaoListImpl无需指定初始容量,ArrayList会自动扩容;StudentDaoArrayImpl创建时需指定数组长度,且长度不可变。
添加学生时,StudentDaoListImpl直接调用ArrayList的add方法;StudentDaoArrayImpl需遍历数组找空位置插入。查询学生时,两者都需遍历,但ArrayList的遍历依托集合的迭代器或索引,数组则是普通的索引遍历。

2.StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?

StudentDao.java的作用:它是接口,用于定义数据访问操作的规范,规定了 “添加学生”“按姓名查学生”“显示所有学生” 这些操作的方法签名,让不同的实现类都遵循统一的方法标准。
2)原因:接口不写实现代码,主要是为了把定义和具体怎么做分开。这样一来,用接口的地方不用管具体是怎么实现的,只需要知道能调用哪些方法就行。而且,如果有不同的实现方式,比如用数组做或者用列表做,切换的时候不用改那些调用接口的代码,直接换个实现就行,很方便。

3.使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。

“DAO 是数据访问对象,专门用来处理和数据库的交互,比如存数据、取数据。”
理解:DAO 就像一个 数据库操作工具类,但用接口来定义它的方法,比如save()、find()会更灵活。接口里只写这些方法的声明,具体怎么连接,交给实现类去写。这样如果换了数据库,只改实现类,调用 DAO 的代码不用动。

4.尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?

好处:可扩展性,新增数据存储方式(如数据库、Redis)时,只需新增对应StudentDao实现类,系统能快速适配新需求。
Test.java代码:
public class TestCart {
public static void main(String[] args) {
CartDao cartDao = new CartDaoFileImpl();

    // 添加购物车项cartDao.addItem(new CartItem("手机", 1));cartDao.addItem(new CartItem("耳机", 2));// 查询购物车项CartItem phone = cartDao.getItemByName("手机");System.out.println("查询到的手机项:" + phone);// 显示所有购物车项System.out.println("所有购物车项:");for (CartItem item : cartDao.getAllItems()) {System.out.println(item);}
}

}

http://www.hskmm.com/?act=detail&tid=35123

相关文章:

  • PPO GRPO GSPO DAPO的Loss计算与代码实现
  • 2025年南通宠物医院权威推荐榜:专业诊疗与暖心服务口碑之选,精选优质宠物医疗机构
  • P3601 签到题
  • UOJ #1005. 【UR #32】王之钦定 题解
  • 图像采集卡重要功能解析:打通视频信号处理全链路
  • 2025年铣边机/铣床/刨边机/滚轮架/变位机厂家推荐排行榜,专业实力与市场口碑深度解析
  • 2025年通风天窗厂家最新权威推荐榜:排烟天窗、通风气楼、屋顶通风器、顺坡气楼、10A通风天窗、1型通风天窗、TC5A通风天窗、TC12B通风天窗、屋脊通风天窗专业选购指南
  • 【LeetCode】125. 验证回文串
  • YAML
  • QUALIFY 窗口过滤 - --
  • 【ffmpeg】开发过程中错误简单记录
  • 2025年冲压件厂家权威推荐榜:新能源/光伏/精密/异形/五金/铝/汽配/不锈钢/家具冲压件源头企业深度解析
  • AI 产品测试企业内训 | 两天构建企业级智能体测试能力
  • 详细介绍:《掰开揉碎讲编程-短篇》 2025 汉化idea控制台出现乱码解决方案 看完这篇解决不了乱码也是神人了
  • 探索无限可能:生成式推荐的演进、前沿与挑战【AI业务应用方向】
  • 【隐语SecretFlow架构解读】隐私保护模型在线推理系统 SecretFlow-Serving 架构解读
  • Excel学习指南
  • 2025 年宁波北仑仓库服务商推荐新世洋集团,港口物流仓储的专业之选宁波北仑仓库推荐
  • 2025年聚氨酯厂家权威推荐榜:浇注型聚氨酯/聚氨酯预聚体/聚氨酯胶黏剂/聚氨酯组合料/密封胶/胶辊/制品原料,源头厂家技术实力与产品应用深度解析
  • 02-02串口-单片机发送数据,电脑串口调试助手接收数据
  • 2025 矿物铸件源头厂家推荐榜:南通盟鼎新材料 5 星领跑,适配机床 / 电子 / 自动化设备基座需求
  • 3 大 Python 库助力高效 PDF 文件压缩 - E
  • 三麦克风阵列近场定位MATLAB实现(TDOA+GCC方法)
  • QOJ8233 题解
  • 2025年CNC高压清洗机厂家推荐排行榜:CNC全自动/数控高压清洗机、双工位/卧式清洗机、去毛刺/螺纹孔清洗机、工业/欧洲清洗机精选
  • 结对项目作业
  • 2025 年蒸汽发生器厂家最新推荐排行榜:电热 / 燃油 / 燃气 / 工业型设备实力企业深度解析
  • 2025 年国内锅炉厂家最新推荐排行榜:聚焦智能控制与稳定可靠的品牌深度解析电/蒸汽/燃气/燃油/电蒸汽锅炉公司推荐
  • 遗传算法入门
  • 关于keil5生成bin文件的方法