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

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

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

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

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

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

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

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

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

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

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

相关文章

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

    类别:符合条件的对象集。 动态语言不关心对象形成的过程,满足条件即认为是同一类别的对象。静态语言认为同一类别的对象...

  • IT男的基础之路

    静态语言和动态语言 基本概念 静态语言(强类型语言) 静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型...

  • 【扩展2】静态动态及强弱类型语言总结

    静态语言和动态语言 静态语言Statically typed language  在运行前编译时要检查数据类型的语...

  • 编程语言

    编程语言分为动态(类型)语言和静态(类型)语言。 动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在...

  • 01|JavaScript是一种动态的弱类型语言

    一、JavaScript与C++对比 javascript C++ 二、静态类型和动态类型对比 静态类型语言动态语...

  • 浓缩解读《JavaScript设计模式与开发实践》①

    面向对象的JavaScript 1.1 动态类型语言和鸭子类型 按照数据类型,编程语言可以分为两大类:静态类型语言...

  • 静态类型语言和动态类型语言

    编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言。 静态类型语言在编译时便已确定变量...

  • 《松本行弘的程序世界》总结(1)

    静态语言和动态语言的优缺点 静态类型 优点:编译时能够发现类型不匹配的错误制定了相应的数据类型,那么编译时用的信息...

  • python简单介绍

    python介绍 python是一个什么样的语言? 编译型和解释型静态语言和动态语言强类型定义语言和弱类型定义语言...

  • python面试题

    python语言特性 python是静态还是动态类型?是强类型还是弱类型? 动态强类型语言 动态还是静态指的是编译...

网友评论

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

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