首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么要在javascript中使用基于类的OOP风格继承?

为什么要在javascript中使用基于类的OOP风格继承?
EN

Stack Overflow用户
提问于 2009-05-04 20:53:39
回答 8查看 2.5K关注 0票数 5

如果我没有完全错的话,现在javascript中的每一个框架/库/方法都倾向于模仿基于OOP风格继承的类。原因似乎是人们认为基于类的OOP继承更容易理解,而且大多数程序员都知道OOP。

在我的经验中,我没有找到支持这两种观点的证据。我认为javascript原型继承是很好的(我怀疑将另一种范式强加给一种语言的有用性,而不是它所基于的范式)。我遇到的大多数开发人员在传统的OOP方面也不是很好。那么选择经典OOP风格继承而不是原型继承的原因是什么呢?

EN

回答 8

Stack Overflow用户

发布于 2009-05-04 20:58:53

我想答案就在你的问题中--大多数程序员更熟悉基于类的OOP而不是基于原型的。

事实上,我甚至可以说,大多数人不相信你可以在没有类的情况下拥有对象。

票数 6
EN

Stack Overflow用户

发布于 2009-05-04 21:51:47

请注意,即使你在争论基于原型的OOP,你也称它为“原型”,而基于类的OOP就是“OOP”。所以,你自己也受到这种偏见的困扰,思考OOP=>classes,prototypes =>其他的东西。

既然大多数人认为OOP是正确的方式,不管问题是什么,那么原型肯定是次要的。

所以,要回答你的问题,有两个因素:

  1. 一个糟糕的定义:"OOP => =>“
    • 宣传:”它必须是OOP,否则你就不是OOP。

由于您仍然受到第一种方法的约束,因此您试图解释原型是第二种方法的例外。纠正它们要容易得多:

  1. 创建对象的方法有很多种,类是静态语言中最简单的一种。大多数人被教导用静态语言编程,他们中的大多数人试图使用任何一种语言,就像他们学习的第一门语言一样。

代码语言:javascript
复制
- there are many ways to structure a programming solution, OOP are great at some and lousy at others.

票数 6
EN

Stack Overflow用户

发布于 2009-05-04 22:47:51

我觉得你好像已经知道了你的问题的答案,因为你在说的时候说了一部分

的原因似乎是人们认为基于类的OOP继承更容易理解,而且大多数程序员都知道OOP。

在解决问题时,这两种范式都不是最正确的。我相信最主要的原因是现在每个人都是通过Java来学习面向对象编程的。因此,当人们遇到OOP时,他们会想到“哦,类”,因为这是他们所熟悉的。每当他们想要解决一个问题时,他们很可能会使用他们所知道的。

我还想说,对于程序员来说,使用他不熟悉的范型是没有好处的。我们大多数人都必须使用javascript进行客户端web开发,并在服务器端使用基于类的OOP语言。我个人不希望在我不得不查看应用程序的javascript端时出现OOP阻抗不匹配的情况。

在某种程度上,每个人都在尝试在javascript中实现基于类的OOP,这是一个教育问题。在另一个层面上,这是一个心理上的问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/822014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档