C語言:全局函數(shù)
例如:NSLog
面向?qū)ο驩C:成員函數(shù)(方法)
定義方法
-(實(shí)例方法)(返回值類型)函數(shù)名稱:(參數(shù)類型)參數(shù)名稱
+(類型方法)
使用方法
默認(rèn)為公有方法惠险,不支持私有方法
動態(tài)消息分發(fā)(向?qū)ο蟀l(fā)送消息):
實(shí)例方法:[對象名 方法名:參數(shù)]胀瞪;
實(shí)例方法只能通過實(shí)例調(diào)用猾昆,類型方法只能通過類型調(diào)用磕秤。
實(shí)例方法中訪問其他實(shí)例方法[self 方法名];或類型方法驱入,但類型方法中不能訪問實(shí)例方法
靜態(tài)變量在兩種方法中都能訪問
self指針:類型方法里的self表示當(dāng)前的類波俄,實(shí)例方法里的self表示當(dāng)前的實(shí)例對象。
對實(shí)例方法來說,傳遞了實(shí)例對象的指針粪躬;對類型方法來說担败,只表示當(dāng)前類,并不表示實(shí)例
函數(shù)參數(shù)
值類型:傳值镰官,對外界無影響
引用類型(指針):傳指針提前,對外界有影響
方法名即為第一個參數(shù)名
兩個不同的方法取決于外部方法名,不在于參數(shù)名
方法動態(tài)調(diào)用機(jī)制
(支持嵌套調(diào)用)
對象-》method list-》具體方法名
優(yōu)點(diǎn):靈活泳唠,運(yùn)行時可以添加方法
缺點(diǎn):有性能損失