封装,继承,多态
封装
类,封装了数据(属性)和行为(方法)
狭义的封装:就是创建一个类,属性私有化,提供getter和setter方法,并且提供一个无参的构造方法(标准的javabean)
广义的封装:
比如一个Random类提供了一个获取随机数的方法,
比如,一个封装了工具类的jar包,内部的工具类实现细节对使用者是透明的。
再比如,一个连接池框架,一个持久层框架,等等这些都是封装
继承
复用,对同一类事物的共同点做一个抽取
举例:
在开发中,需要对持久层进行操作,里面有些通用性的操作,比如常规的增删改查,所以就可以把这块常规操作抽取出来
于是,就是有了BaseDao,同理,有了BaseService。
我们具体业务Dao,比如UserDao只要继承BaseDao,剩下只需要写额外扩展的方法即可。
多态
父类引用指向子类对象,指向不同的子类对象,就有不同的表现(指程序在运行期间,表现出多种状态)
举例:
IUserDao userDao;
比如在Service层,声明的是IUserDao,那么具体由Spring容器来实现注入,从而实现解耦。
再比如,方法的参数类型,我们一般也定义为父类型,调用时,传入具体的子类对象。