首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Iphone >

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

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

【语法问题】怎么给对象发消息?
我做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    我写代码不加注释都可以(前提是你起的名字有意义一看便知),你慢慢想想看呢?

热点排行