到底什么叫做动态语言呢?
Topic source我说说我的理解。
静态语言需要整体编译,比如java得先把.java编译成.class,在编译完成的时候类的方法和属性就确定了,虽然运行中也可以改,但很麻烦(一般是不改的)。
动态语言是动态编译的,可以理解为编译一行运行一行,所以完全可以根据实际输入的不同去动态的更改类的方法和属性。
你最后举的例子,应该是方法重载,这在静态语言里也是有的。
- 1
我说说我的理解。
静态语言需要整体编译,比如java得先把.java编译成.class,在编译完成的时候类的方法和属性就确定了,虽然运行中也可以改,但很麻烦(一般是不改的)。
动态语言是动态编译的,可以理解为编译一行运行一行,所以完全可以根据实际输入的不同去动态的更改类的方法和属性。
你最后举的例子,应该是方法重载,这在静态语言里也是有的。
第二十二军规
哪位大佬能用通俗易懂的话解释一下“动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。”?
举的那个Hello的Class对象的例子,也没看懂哪里体现了”动态”。
我目前的理解是:type()可以返回一个对象的类型。例如,我们已经创建了一个叫做Hello的class,就可以用type(Hello)来返回Hello的类型。type()也可以用来创建新的class,例如
就创建了一个名为Hello的object类型,且调用了fn这个函数方法。所以type()既可以返回对象类型,也可以新建对象,就是一种动态的语言?