objective-c优雅的语法

简介:

 对初学者来说,objective-c存在了很多令人费解的写法,实际上他们是非常优雅的。

    程序员写的最多的就是函数以及调用自己写的或者别人写的函数。本文就从函数的角度来看下objective-c的优雅之处。
    C#和objective-c同属于c系列语言。让我们先看下C#的函数定义和调用,做个对比。
    C#函数的定义:

public void  doIt( string  actorName,  string  movieName,  int  timesSeen)
{
Console.Write(
" {0} is my favorite actor in the movie {1}, I saw it {2} times. " , actorName, movieName, timesSeen);
}

    函数的调用:   

Class1 objMovie  = new  Class1();
objMovie.doIt(
" 莱昂纳多·迪卡普里奥 " " 盗梦空间 " 120 );

 在让.net程序员看下objective-c的定义:

-  ( void ) doIt:(NSString  * ) actorName movieName: (NSString * ) value timesSeen: ( int )times { 
NSLog(
@" %@ is my favorite actor in the movie %@, I saw it %i times. " ,actorName, value, times); 
}

    如果你第一次看objective-c,肯定会琢磨不透上面的代码,怀疑是不是写错了。  

    对于上面这个函数的定义:
1、'-'表示这个函数是实例函数(类似非静态函数),'+'表示这个函数是类函数(类似静态函数)
2、(void)表示这个函数没有返回值。
3、函数名是'doIt: movieName: timesSeen:',而不是'doIt'
4、参数用空格隔开
5、参数类型写在括号中
6、参数分内部参数和外部参数,如电影名称,内部参数是:value,外部参数是:movieName

7、函数的一个参数没有外部参数的名称,有内部参数名。如:actorName。

调用:

     从上面代码可以看出除了第一个参数,其余的参数都可以加上外部参数名称用于区别。

    从上面可以看出objective-c和C#区别很大,实在会令.net程序员费解。objective-c函数设计的优雅之处在于即有内部参数名又有外部参数名,可以不用在再内部定义变量来存放函数的参数。

总结:本文是对objective-c函数学习的一个简单总结。





本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2011/03/15/1984642.html,如需转载请自行联系原作者
相关文章
|
iOS开发
【IOS 开发】Objective - C 语法 之 流程控制(二)
【IOS 开发】Objective - C 语法 之 流程控制(二)
165 0
|
iOS开发
【IOS 开发】Objective - C 语法 之 流程控制(一)
【IOS 开发】Objective - C 语法 之 流程控制(一)
148 0
|
iOS开发
【iOS 开发】Objective - C 语法 之 类型转换
【iOS 开发】Objective - C 语法 之 类型转换
410 0
|
存储 Java 程序员
C++ 开发者快速学习 Objective-C 语言核心语法
本文将讨论 Objective-C 语言的核心语法。这部分开始详述一些具体的语法。正如你期待的一样,涉及到了定义和类。
262 0
|
C++ iOS开发 开发者
C++开发者快速学习Objective-C语言核心语法
  本文将Objective-C讨论了语言的核心语法。这部分开始详述一些具体的语法。正如你期待的一样,涉及到了定义和类。   类并不是特殊的   在Smalltalk中,类是具有一些特性的对象。在Objective-C中也一样。
983 0
|
C++ iOS开发 开发者
C++开发者快速学习Objective-C语言核“.NET研究”心语法
  本文将Objective-C讨论了语言的核心语法。这部分开始详述一些具体的语法。正如你期待的一样,涉及到了定义和类。   类并不是特殊的   在Smalltalk中,类是具有一些特性的对象。在Objective-C中也一样。
961 0
|
程序员 C语言 C++
《企业级ios应用开发实战》一第3章 Objective-C 语法简介
本节书摘来自华章出版社《企业级ios应用开发实战》一 书中的第3章,第3.1节,作者:杨宏焱,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1669 0
|
iOS开发 编译器 程序员