首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在采访中回答“Javascript中的原型继承与经典继承有何不同”?

如何在采访中回答“Javascript中的原型继承与经典继承有何不同”?
EN

Stack Overflow用户
提问于 2019-09-14 08:13:10
回答 1查看 67关注 0票数 0

所以...我已经编程40年了,从机器语言到C++再到Javascript/Typescript。在过去的10年里,大量使用Javascript。

当被问及原型继承与经典继承时,我似乎步履蹒跚。我一直在读文章,我一直在排练,but...honestly,我觉得我理解了概念,但不知道如何给面试官他们想要的东西。

C++是我对经典继承的参考框架(以及我也用来编程的Java和C# )。在这里继承是静态的-你从一个类创建一个对象,仅此而已。

Javascript当然是动态的。您创建了一个具有原型的对象,该原型本身也具有原型,并且这些原型具有可以在运行时扩展的方法和属性,并且将可用于共享该原型链的所有对象。

好的,酷。

这些我都明白。但我似乎不能给面试官他们想听的。老实说,我使用classextends和Typescript接口,虽然我知道它在幕后是不同的,但我体验到的唯一真正的实际区别是,您可以在运行时为polyfills之类的东西修改原型(实现缺失的功能)。

So...help。我觉得所有的知识都在我的脑海里,但我不知道如何恰当地传达它。

EN

回答 1

Stack Overflow用户

发布于 2019-10-13 20:20:42

免责声明:我仍然是一个经验非常有限的本科生。

在实现有限域代数时,我意识到了这两种方法的不同。我们有:

代码语言:javascript
运行
复制
class Field{
    int p;
    Field (int p){
        this->p = p;
    }
};
class FieldElement: public Field{
    int x; 
    FieldElement(int x, int p) : Field(p){
        this->x = x;
    }
};

现在,在这里,每个字段元素都有自己的字段,并存储有关该字段的所有信息(这里恰好是一个整数p )。想象一下,如果Field类非常繁重,然后我们有许多FieldElement类型的对象。每个物体都会携带其庞大的场。取而代之的是,javascript类型的原型链可以被认为只是一个指向元素所属的Field对象的指针。

希望我能令人满意地回答你的问题。

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

https://stackoverflow.com/questions/57931503

复制
相关文章

相似问题

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