Runtime一: Objective-C语言的动态性总结(编译时与运行时)

本文介绍Objective-C如何在C语言基础上增加面向对象的特性,详细解释了其在编译时与运行时的不同行为,特别是动态类型识别及消息传递机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Objective-C 
是基于C的,它为C添加了面向对象的特性。
它将很多静态语言在编译和链接时期做的事放到了runtime运行时来处理

编译时: 
编译时只进行最基本的检查报错,包括语法分析,查看类型是否匹配,方法是否申明
将程序代码翻译成计算机能够识别的语言(例如汇编等)

运行时: 
先决定对象的类型,再去决定调用的方法

任何调用方法本质:就是发送一个消息。
方法的调用实际就是告诉对象要干什么,给对象(的指针)传送一个消息,对象为接收者(receiver),调用的方法及其参数即消息(message),给一个对象传消息表达为:[receiver message]; 接受者的类型可以通过动态类型识别于运行时确定。

void objc_msgSend (id self, SEL cmd, ...)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值