Object C语言语法特点

移动市场是块巨大的迅速的,发展的市场,我看好它。iOS中OC是很重要的语言,通过看《Objective C Programming》,能让我对OC有个大概的了解。为了加深印象,特于此加以总结。

OC是源于SmallTalk的,起源甚至比C++还早。其直接父系语言为C语言。
OC通过@interface-@end以及@implementation-@end来实现类声明和定义。
OC中类一般至少继承与Object类
OC中所有的类对象必须动态申请,也就是说没有局部变量这么一说。
OC中类没有所谓的构造函数和析构函数,所以如果一个类中有其他类的数据(动态申请的),那么释放内存就不能依赖析构函数,但可以采用重写-(id) free来实现类中所有数据释放。
OC中成员变量也有三种访问权限,@public,@protected,@private。但默认的是@protected,而C++中默认是private。
OC中成员函数只有两种,一种是实例函数,一种是类函数。实例函数就是C++中的Public函数,类函数就是public中的static函数。
OC中成员函数如果要接受多个参数,则需要每个参数前加冒号(虽然教科书上说参数后加冒号,但就我看来说成参数前加更能让C++Programmer理解)。例如-( int ) Set : ( int ) A : ( int ) B ;每个形参前还可以加一个参数名,并成为函数名的一部分。例如-( int ) Set : ( int ) A And : ( int ) B;在使用时[ classTest Set : 10 And : 12 ]; 起初看起来确实不习惯。。。
OC中还多了一个id类型,通过测试,id就是指针。32位机器上为4字节。
OC中多了很多运行时态的机制,其中id的特殊用途,可以通过id类型的变量,调用不同类的同名函数,即使这些类没有任何关系。
OC可以给己类添加新的函数。@interface classExist( NewMethodGroup )-@end,@implementation classExist( NewMethodGroup )-@end。
OC可以将让某类A,代替某类B。通过poseAs关键字。例如:[FractionB poseAs: [Fraction class]];此后使用Fraction类时,就转换成使用FractionB了。
OC还有protocol概念。protocol实际是一组函数,支持该协议的类都应重写这些函数。通过@protocol-@end来声明protocol。类中通过

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值