Fe-interview: [js] 第184天 说下你对面向对象的理解

Created on 16 Oct 2019  ·  7Comments  ·  Source: haizlin/fe-interview

第184天 说下你对面向对象的理解

js

Most helpful comment

当我需要对象的时候就new一个

All 7 comments

当我需要对象的时候就new一个

组件也算是面向对象的一种用法吧。
万事万物皆可抽象,有特定的出入参,可嵌套,可继承,
对象内的数据和事务较为独立,是很棒的一种开发习惯。

哪怕你把所有数据和事务都丢进单独的 Object 中其实也阔以,
只是初始数据和私有变量可能还需要再搞搞而已。

每个对象能够接收消息,处理数据和发送消息给其他对象。每个对象都可以被看作是一个拥有清晰角色或责任的独立小机器。

一切皆对象。

说点边缘的,现在普遍的观点是在组件化的东西其实并不推荐用面向对象(Class)来做,就如React也推出了hooks,其实extends/implements这些OO的东西并不适用与前端组件化的编程,就像Vue3,也是用函数表示组件,而非很早之前传言的Class。面向对象更适合后端的业务,而非Web前端的UI编程,前端更适合用函数式的编程方式。(小白的一点愚见,欢迎指教,轻喷~)

嗯嗯,很值得深究的观点,
在我看来,框架选用函数式组件等于丢弃了 mounted 这些复杂的东西,对框架是很好的,可以更侧重于数据与识图的关系。但业务逻辑上,没有 created 后就得靠我们自己来管理何时异步请求了。
(小白言论,最新技术懂得不多,可能已经有了解决方案,欢迎指教~)

说说我的理解吧:面向对象思想,就是将万事万物中具有相关的属性,相关的方法的东西,归纳成一个类。

当我们想做某一件事情的时候,先找到能解决这件事情的一个类,然后创建这个类的一个实例,用实例去完成这件事情。

由于一个类中的属性和方法联系非常紧密,并且与另一个类中的属性和方法并不相关,所以能够实现高内聚,低耦合的目的。

Was this page helpful?
0 / 5 - 0 ratings