Objective-C语言特性
1.Objective-C建立在C语言之上,他是在C语言基础上添加扩展而来能够创建和 *** 作对象的一门心的设计语言。
2.Objective-C是ANSI-C的超集,可以混编C和C++代码。
3.可以在现存C编译器基础上实现,不需要编写全新的编译器。在mac系统上编写Objective-C一般都使用xcode编译器。
4.不支持命名空间机制。一般都是在类别名称加前缀。在Cocoa编程环境中,所有Mac OS X类别和函数均有“NS”作为前缀,例如:Nsstring、NSObject等等。
5.不支持运算符重载。只支持单继承,不允许多重继承。
6.面向对象最大的特色是消息传递模型,对象不调用方法,而是互相传递消息。
7.不支持内联函数。
类定义 一般写在.h文件中 类实现写在.m文件中,例如:
Person.h#import<Foundation/Foundation.h>@interface Person:NSObject{@privateNsstring *name;int age;}@property(noatomic,retain) Nsstring* name;-(voID)setAge:(int)value;-(voID)printInfo;@end
Person.m#import"Person.h"@implementation Person@synthesize name;-(int)age{ return age;}-(voID)setAge:(int)value{ age = value;}-(voID)printInfo{ NSLog(@"name:%@.\n",name); NSLog(@"age:%d.\n",age);}@end
main函数中测试代码:
Person *person = [[Person alloc] init]; [person setname:@"Marry"]; [person setAge:32]; [person release];
在Objective-C中一对中括号[]代表消息传递,例如person是消息接收者,setname是消息函数。
这里
@property(noatomic,retain) Nsstring* name;
是属性的声明 对应在.m文件中 @synthesize name;
如此,则系统自动生成set和get方法。当然,如果自己定义了set和get,则消息传递时调用用户定义的set和get,不调用系统的。
Objective-C新增数据类型:BOol
typedef char BOol;
#define YES 1
#define NO 0
nil和Nil和NulL
Nil 内置类型的指针,对象赋空值
Nil类对象的空值
NulL空值0
总结以上是内存溢出为你收集整理的Objective-C语言特性全部内容,希望文章能够帮你解决Objective-C语言特性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)