面试重点之面向对象

面向对象的三大特性:封装、继承、多态

封装:所有成员函数和数据项允许被外部使用、外部调用时无需关心内部实现。
在nodeJs和java中,相当于一些方法接口和变量属性公开声明。
如果在java中使用private或者NodeJs中没有Export导出则不会被外部调用。

封装的基本场景和要求
1、Bean对象的属性要求私有,但可以提供get和set方法对外访问。因为属性的赋值和获取逻辑只能有自己本身决定,而不能胡乱的修改。
2、orm框架:操作数据库时,我们不用关心链接是如何建立的,sql是如何执行的,只需要引入mabatis或者Hibrnate框架。调用方法即可。
3、更多封装技巧可以参考《代码重构》。

继承:继承基类的方法,并作出自己的改变和扩展。
目的:一些共通的方法直接写在父类,不需要自己定义了。子类中只需要实现一些特有的方法即可,可以解决一些代码冗余。

多态:方法重写,父类的引用指向子类的对象。多态是基于继承的扩展,基于对象的实现类不同,外部对同一个方法的调用,实际执行的逻辑不同,可能是父类或者子类的实现。

注意:父类无法调用子类特有的功能。对象调用时必须是父类中有的方法或者变量。
最简单的例子:Object 是所有类的基类,但 new出来的Object对象无法调用除它自身的方法外的任何方法。

工作两年有余,所有的概念涉及一些自己的总结,有不对想地方希望能够指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值