第2题(2023/9/8)
面向对象和面向过程?
答:
首先来举一个例子来说明一下面向对象和面向过程的区别联系
比如说洗衣服这件事
对于面向过程,我们要将洗衣服这件事抽象成一个一个的步骤,然后依次去执行,比如说将洗衣服分为放衣服,放水,放洗衣粉,启动洗衣机等等过程,然后按顺序去做这些事情
而对于面向对象来说,我们需要抽象出人和洗衣机等对象,并维护他们之间相应的方法,比如人有放衣服,放洗衣液,启动洗衣机等,而洗衣机有洗涤烘干等。
从例子可以看出面向过程执行更加高效,而面向过程更利于程序复用和,扩展和维护。
说到面向对象我们不得不提它的三大特性
(1)封装
将属性和方法封装到类中,提供外部调用,外部调用者无需修改或者关心内部细节。
对于封装举两个例子一个是标准的javaBean类,一个是orm类的框架比如mybatis。
(2)继承
一个类通过extends关键字继承另一个类,子类 和 父类,子类可以继承父类的属性和方法,子类只需要扩展自己个性化的即可。
(3)多态
基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同
多态实现的条件:继承,方法重写,父类引用指向子类对象
父类类型.变量名 = new 子类对象 ;
无法调用子类特有的功能。