Objective-C语言特性

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
{
@private
NSString *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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值