2012-02-05 73 views
1

我遇到了动态类型化的python,静态类型化的f#,强类型的C++和弱类型的JavaScript。类型系统需要说明

我还不知道所有这些类型系统之间的确切区别。一般来说,我可以发现强类型与静态类型相关,弱类型与动态类型相关。

有人可以用例子解释每种类型的系统。

回答

1

Python是动态强类型。类型不能任意,从一个到另一个隐式转换,名称可以绑定到任何类型的对象。

PHP是动态,弱类型。如果适当,某些类型将被隐式转换,并且变量可以被分配任何类型。

Java是静态,强类型。类型不能转换,除了它们的继承或接口层次结构,变量只能被赋予子类或实现对象。

C是静态,弱类型。某些类型可以方便地转换(例如charint),并且变量只能包含它们声明的类型。

+0

仍然不清楚......我理解静态(编译时分配的所有类型)与动态(所有类型不需要在编译时分配)。但强者与弱者呢?是关于类型转换吗?这(http://stackoverflow.com/questions/430182/is-c-strongly-typed)讨论增加了我的困惑。 – riship89 2012-02-05 08:37:07