Objective-C是动态语言吗?为什么
展开全部
动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。
Objective-C可以在运行时修改对象(例如替换class)和类(例如增加、删除和替换ivar和方法),因此符合动态语言的定义。
但是它并不如Python那么灵活,例如不能在运行时动态创建类,不能替换函数和类,没有eval等。原因就是它骨子里还是C,类和对象是由结构体模拟的,只是将Objective-C的方法翻译成C的函数调用而已;但对于C中的固有限制,它的runtime就无能为力了。
Objective-C可以在运行时修改对象(例如替换class)和类(例如增加、删除和替换ivar和方法),因此符合动态语言的定义。
但是它并不如Python那么灵活,例如不能在运行时动态创建类,不能替换函数和类,没有eval等。原因就是它骨子里还是C,类和对象是由结构体模拟的,只是将Objective-C的方法翻译成C的函数调用而已;但对于C中的固有限制,它的runtime就无能为力了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-02-20
展开全部
没分分不回答了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询