读书人

【语法有关问题】如何给对象发消息

发布时间: 2013-06-25 23:45:41 作者: rapoo

【语法问题】怎么给对象发消息?
我做JAVA开发的,看到下面这个,甚感火星文!!!请大家帮我全部(包括符号)解释下,非常感谢!!!!!

[myArray insertObject:anObject atIndex:0];
[解决办法]
[myArray insertObject:anObject atIndex:0];
myArray 插入一个对象 anObject 在那个位置为0 的地方

其实Objective C给对象发消息的语法源自Smalltalk
这个等价与java中 myArray[0] = anObject;

其实Objective C这种语法有个好处, 给你看个例子:
在窗口中绘制矩形的方法,如果是Objective C 会是这样:


- (void) drawRectWithX:(float)x
andY:(float)y
andWidth:(float)width
andHeight:(float)height
{
}



public void drawRect(float x, float y, float width, float height)
{
}

这样好像还看不出好处,那么我分别调用一下两个,看看写法:
Objective C:
[obj drawRectWithX:10
andY:20
andWidth:90
andHeight:130];

Java:
obj.drawRect(10, 20, 90, 130);

看看,java那个如果我不去看方法的声明,你能直接从调用的地方看出每个参数代表啥意义吗?如果你事先不知道drawRect函数的意思,你只看obj.drawRect(10, 20, 90, 130). 天知道10是啥意思,20又是啥意思,
而Objective C呢,一目了然,10是X 20是Y 90是width 130是height 我写代码不加注释都可以(前提是你起的名字有意义一看便知),你慢慢想想看呢?

读书人网 >Iphone

热点推荐