OC基础—语法概述(初步了解Objective-C)

------ android培训java培训、期待与您交流! ----------


                                                                                          Objective-C语法概述

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;
}
可以看到,要想使用Foundation框架的东西必须引入Foundation的主头文件Foundaton.h,而import的作用要优于include,可以防止文件的内容被重复拷贝

下面来看一下OC函数的调用

#import <Foundation/Foundation.h>

// test函数的声明
void test();

// OC 程序的入口: main函数
int main( )
{
    // 调用函数
    test();
    // NSLog输出内容会自动换行
    NSLog(@"第一个OC程序");
    return 0;
}

// 函数的调用
void test()
{
    NSLog(@"调用了test函数");
}
其实和C语言差不多,因为OC也是自上而下编译,所以如果你的函数写在main函数的下面就要在main函数的前面添加声明void 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;
}
上面的输出结果是1-1-0,很简单

其实BOOL的本质不是int,是char类型的。在头文件中这样定义:typedef signed char BOOL 。

所以BOOL其实就是char,在c语言中知道char也是可以用int来表示的


这就是OC语言,在基础上和C语言差不多,实在C语言的基础上添加了一些新的语法。



------ android培训java培训、期待与您交流! ----------




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值