面向对象

72 阅读1分钟

第2题(2023/9/8)

面向对象和面向过程?

答:

首先来举一个例子来说明一下面向对象和面向过程的区别联系

比如说洗衣服这件事

对于面向过程,我们要将洗衣服这件事抽象成一个一个的步骤,然后依次去执行,比如说将洗衣服分为放衣服,放水,放洗衣粉,启动洗衣机等等过程,然后按顺序去做这些事情

而对于面向对象来说,我们需要抽象出人和洗衣机等对象,并维护他们之间相应的方法,比如人有放衣服,放洗衣液,启动洗衣机等,而洗衣机有洗涤烘干等。

从例子可以看出面向过程执行更加高效,而面向过程更利于程序复用和,扩展和维护。

说到面向对象我们不得不提它的三大特性

(1)封装

将属性和方法封装到类中,提供外部调用,外部调用者无需修改或者关心内部细节。

对于封装举两个例子一个是标准的javaBean类,一个是orm类的框架比如mybatis。

(2)继承

一个类通过extends关键字继承另一个类,子类 和 父类,子类可以继承父类的属性和方法,子类只需要扩展自己个性化的即可。

(3)多态

基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同

多态实现的条件:继承,方法重写,父类引用指向子类对象

父类类型.变量名 = new 子类对象 ;

无法调用子类特有的功能。