关于dao设计模式,父类对象实例化指向子类,xxxDao xxx = new xxxDaoImpl的理解

本文探讨了DAO设计模式的应用,解释了为何使用UserDaoImpl实现UserDao接口,并通过实例化来调用方法的原因。此外,还深入解析了多态的概念,包括其四个主要特征及实现多态的三个必要条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用Dao设计模式时,通常会使用userDao user = new userDaoImpl

为什么会这样使用呢?个人理解如下:

1.如果单纯的写UserDao user=new UserDao(),这只是一个接口的对象,没有实际意义

2.如果写UserDaoImpl user=new UserDaoImpl(),则dao层的存在实际上是没什么意义的

3.接口的实例化,也就是新声明一个userdao,他可以调用userdaoimpl中的所有方法

4.UserDaoImpl,就是对Dao接口方法的实现,这是分层的思想,降低耦合


另外,关于多态,可以总结为:

1.使用父类类型的引用指向子类的对象;

2.该引用只能调用父类中定义的方法和变量;

3.如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)

4.变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。

多态的三个必要条件:

 1.继承   2.重写   3.父类引用指向子类对象。


参考http://www.cnblogs.com/xjhere/p/5842461.html



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值