1-面试题之谈谈你对面向对象的理解

面向对象是一个组织者的思维模式,面向过程是一个从执行者角度的方向考虑问题,比如我们要产生一个0-10的随机数,面向过程思维是需要研究具体的算法,如何比较均衡的产生随机数,而面向对象思维是考虑找谁来帮我做这件事,比如Random类调用其中的方法就好了。所以面向对象思维是考虑如何选择更适合的工具,然后组织到一起干一件事情。

在我们程序世界,组织者思维无处不在,比如MVC三层架构,从我们远久的truts1到现在的SpringMVC,从Hibernate到现在的Mybatis,充分的体现了组织者的思维,把优秀合适的框架组织起来给我们办事!

而面向对象最主要的的有三大特性:封装,继承,多态。

封装从狭义上来说就是属性私有化,对外提供get/set方法使用。从广义上来说,我们用的C3P0,德鲁伊连接池,用的SSM框架他也是封装了内部的实现,对外提供给我们使用,这也是一种封装。

继承的话,继承关系可以拥有父类的非私有的属性和方法。使用继承很多时候是为了提高代码的复用性,开发中我们会把一些共用性的东西抽取出来写到父类中,子类只需对特殊的功能进行一个额外的实现。

最后是多态,多态是父类引用指向子类对象,指向不同的子类对象有不同的表现。在程序中我们会有一个接口,接口背后可能有不同的实现,所以会对我们的程序会有一个解耦性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值