Objectice-C(OC)字面看—面向对象的C。
首先来看看OC的简介:
1. c语言的基础上,增加了一层最小的面向对象语法
2. 完全兼容c语言
3. 可以在OC代码中混入c语言,甚至C++代码
4. 可以使用OC开发Mac OS X平台和IOS平台应用程序
OC语法预览
1. 关键字
1> 基本上所有的关键字都是用@开头
例如:@interface,@iimplementation,@end,@public,@protected,@private,@protocol,@class,@optional,@property等等
当然还有不是@开头的不过非常少:self,super。
2> 字符串以@开头
OC中的字符串都是以@开头的。例如@"Hello",这是一个和C语言不同的地方
3> 其他语法(大体上和C语言差不多)
现在我们一边写代码一边学习新知识(边动手边学习效率高)
首先我们编写我们的第一个OC程序:先来个最简单的
- // import的用途
- /*
- 1.和include一样,拷贝文件内容
- 2.可以自动防止文件的内容被重复拷贝
- */
- // Foundation.h是一个主头文件和框架的名字一样包含框架的所有内容,为了使用NSLog
- #import <Foundation/Foundation.h>
- // OC 程序的入口: main函数
- int main( )
- {
- // NSLog输出内容会自动换行
- NSLog(@"第一个OC程序");
- return 0;
- }
下面来看一下OC函数的调用
- #import <Foundation/Foundation.h>
- // test函数的声明
- void test();
- // OC 程序的入口: main函数
- int main( )
- {
- // 调用函数
- test();
- // NSLog输出内容会自动换行
- NSLog(@"第一个OC程序");
- return 0;
- }
- // 函数的调用
- void test()
- {
- NSLog(@"调用了test函数");
- }
介绍一个和C语言不同的地方:OC里面有一个新的类型BOOL,值只有YES和NO,这点就像java里面一样,上代码
- #import <Foundation/Foundation.h>
- BOOL test();
- int main( )
- {
- BOOL b = YES;
- BOOL b2 = 1; // 1就是YES 0就是NO
- // 接受函数的返回值
- BOOL b3 = test();
- NSLog(@"%d-%d-%d", b, b2, b3);
- return 0;
- }
- // BOOL函数
- BOOL test()
- {
- return NO;
- }
其实BOOL的本质不是int,是char类型的。在头文件中这样定义:typedef signed char BOOL 。
所以BOOL其实就是char,在c语言中知道char也是可以用int来表示的
这就是OC语言,在基础上和C语言差不多,实在C语言的基础上添加了一些新的语法。