02-谈谈面向对象的三大特征

封装,继承,多态

封装

类,封装了数据(属性)和行为(方法)

狭义的封装:就是创建一个类,属性私有化,提供getter和setter方法,并且提供一个无参的构造方法(标准的javabean)

广义的封装:

比如一个Random类提供了一个获取随机数的方法,

比如,一个封装了工具类的jar包,内部的工具类实现细节对使用者是透明的。

再比如,一个连接池框架,一个持久层框架,等等这些都是封装

继承

复用,对同一类事物的共同点做一个抽取

举例:

在开发中,需要对持久层进行操作,里面有些通用性的操作,比如常规的增删改查,所以就可以把这块常规操作抽取出来

于是,就是有了BaseDao,同理,有了BaseService。

我们具体业务Dao,比如UserDao只要继承BaseDao,剩下只需要写额外扩展的方法即可。

多态

父类引用指向子类对象,指向不同的子类对象,就有不同的表现(指程序在运行期间,表现出多种状态)

举例:

IUserDao userDao;

比如在Service层,声明的是IUserDao,那么具体由Spring容器来实现注入,从而实现解耦。

再比如,方法的参数类型,我们一般也定义为父类型,调用时,传入具体的子类对象。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容