第一次看斯坦佛大学iOS开发课程的时候教授就提到“发送消息”。但没有深刻理解。
这篇博文讲得非常Nice!
http://yulingtianxia.com/blog/2014/11/05/objective-c-runtime/
补充一下动态语言和静态语言
动态语言和静态语言
通常我们所说的动态语言,静态语言,是指动态类型语言和静态类型语言。
静态类型语言:
静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。
动态类型语言:
是指在运行期间才做数据类型检查的语言,即将数据类型的确定由编译推迟到运行时。典型代表:Ruby,Python,基本是一些脚本语言。
Objective-C也是动态类型语言
那么这个问题涉及到两个概念,运行时和多态。