美文网首页
静态类型语言和动态类型语言的关于类型的思考

静态类型语言和动态类型语言的关于类型的思考

作者: doob_9117 | 来源:发表于2019-05-11 18:39 被阅读0次

    类别:符合条件的对象集。

    动态语言不关心对象形成的过程,满足条件即认为是同一类别的对象。
    静态语言认为同一类别的对象必须是靠继承得到的类创建的。

    静态语言可以靠接口来部分实现上述动态语言的特性,但是一个已经被创建了的对象,即便符合接口定义,但是类因为没有显示声明也无法传入一个以该接口为参数的函数中。因此你要在类那里再加一个实现某接口,于是便有了

    class A 继承B 实现接口C{
    }
    这样的类了。(不过golang的接口则不需要这样的显式声明,我想他们可能意识到了这点)

    这里有一个很重要的点就是,你是后发现原来这个对象就属于那个类别的。这个对象可能是后面慢慢形成的。但是当你发现这个事实后再去补上这个类实现了某接口。有点违背当初的设计,因为当初是设计有目的的实现接口的,不是后发现原来符合条件了

    我理解类型系统有点像一种记录。只能帮助我们审查历史(类型检查),不能预判未来。

    传统的静态类型语言要求每一个对象都对应一个类,每一个对象都由这个类创建。对象间的关系完全由他们从属的类确定。这些类要显式地声明与其他类和接口之间的关系。

    类型系统需要程序员在描述程序运行时不断地记录两样东西:
    1.数据结构
    2.类别之间的关系

    相关文章

      网友评论

          本文标题:静态类型语言和动态类型语言的关于类型的思考

          本文链接:https://www.haomeiwen.com/subject/fckqgqtx.html