说一说你对面向对象的理解

面试官:说一说你对面向对象的理解
我:下面我来回答一下我对面向对象的见解,首先面向对象是一种编程思想,聊到面向对象我们需要谈一下面向过程,因为面向对象是基于面向过程过渡而来的。
以实际生活的案例来举一个例子,比如说用洗衣机洗衣服。

如果是面向过程的话,我们会将这个洗衣服任务拆解成一系列的步骤,每一个步骤就是一个函数。

第一步,打开洗衣机;

第二步,放衣服和洗衣液;

第三步,选择洗衣模式,开始洗衣;

第四步,等待洗完,拿出衣服。

如果是面向对象的编程方式,我们会拆分成人和洗衣机两个对象,再分析每一个对象,它需要做哪些事情。

人在其中需要做这三件事:

第一件打开洗衣机

第二件是放衣服和洗衣液

第三件事是洗完衣服后拿出衣服。

洗衣机在其中只需要做一件事情:

根据洗衣模式洗衣服。

在这个例子中,面向过程注重做事情的步骤,一步一步做。
面向对象注重做事情有哪些参与者,这些参与者各自干了什么,拆解成一个个模块,方便应用的维护。
这就是面向对象与面向过程的区别,此外,面向对象有三大特性,封装,继承,多态。
封装是将类的属性和方法用private修饰,只允许本类可见,对于外界只提供访问的接口,隐藏了其实现的细节。这样做的好处就是:

  1. 可以隐藏内部细节,对外提供公共访问方式。提高代码安全性。
  2. 还有就是提高了代码的复用性。

继承就是将子类存在共性的东西,把它抽取出来放到父类里面,比如将共同拥有的属性和方法抽取出来放到父类里面。通过extends关键字来继承父类。
这样做的好处:

  1. 想要使用这些属性和方法的时候,可以直接去使用父类的,而不需要自己再重新去定义,更大程度的实现代码复用。
  2. 如果个性化定制子类方法时,直接重写父类中的方法即可。
    继承的好处:

想要使用这些属性和方法的时候,可以直接去使用父类的,而不需要自己再重新去定义,更大程度的实现代码复用。

我们不需要写很多的冗余的代码,把共性的全部抽到父类,可以直接调用,如果需要个性化自定义子类的方法时,去重写父类的方法即可。
多态通俗来讲就是相同类型的变量,调用同一个方法时呈现出多种不同的行为特征。
存在多态需要三个条件:继承,重写,父类引用指向子类对象。
多态的好处使代码变得更加简洁。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿研究僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值