有多态性的挑衅似乎加倍艰苦,因为很多人把这个概念与数据类型接洽起来。实际上,多态性涉及编程说话典范多方面,并且不仅仅是与OOP说话有关。平日它涉及诸如泛型、重载和构造子类型等条目。所有这些对于一种“简单”和弱类型的说话——JavaScript——来说似乎不堪重负。然而事实并非如斯:在JavaScript中,我们可以经由过程若干方法实现不合类型的多态,也许我们在不知不觉中已经做过很多次了。
没有类的OOP
“好吧,但话说回来,JavaScript没有类。”
很多开辟人员认为JavaScript缺乏类的概念,而没有将JavaScript视为一种真正的面向对象的说话,因为它不强迫相符OOP原则。
然则,我们可以看到,在非正式的定义中,并没有明白说起类。诚然,对象须要特点和道理。但类并非真正的请求,只是有时,类是一种抽象具有公共属性的对象集的简便办法罢了。是以,即使一种说话的支撑对象没有类,它也可所以面向对象的说话,例如JavaScript。
我们知道,JavaScript对象支撑接洽关系,聚合和组合的才能并不强健。请看以下代码:
此外,OOP原则的目标旨在获得支撑。为了在说话中进行编程,OOP原则不该该是强迫规定的。开辟人员可以选择应用许可他创建面向对象代码的构造,也可以选择不应用。很多人批驳JavaScript是因为开辟人员可以编写违背OOP原则的代码。但这只是法度榜样员的选择,而不是说话的限制。其他的编程说话也会产生如许的工作,如C ++。
所以,我们可以得出如许一个结论,缺乏抽象类并许可开辟人员自由应用或不应用支撑OOP道理的功能,并非认定JavaScript是OOP说话的┞锋正障碍。
【编辑推荐】
- 应用Chrome DevTools调试JavaScript
- JavaScript:到底什么是ES6、ES8、ES 2017、ECMAScript?
- 国内最火的 HTML、CSS、JavaScript 开源项目 Top 榜,你知若干?
- 深刻浅出妙用Javascript中apply、call、bind
- JavaScript中缺点精确处理方法,你用对了吗?
推荐阅读
物联网为企业开辟了新的大年夜门,个中包含: 使他们可以或许优化其多设备营销策略 为客户供给更多功能的解决筹划 发掘新的数据来源,以改良他们的渠道 >>>详细阅读
地址:http://www.17bianji.com/lsqh/37764.html
1/2 1