Objective-C语言特性

Objective-C语言特性,第1张

概述Objective-C语言特性 1.Objective-C建立在C语言之上,他是在C语言基础上添加扩展而来能够创建和 *** 作对象的一门心的设计语言。 2.Objective-C是ANSI-C的超集,可以混编C和C++代码。 3.可以在现存C编译器基础上实现,不需要编写全新的编译器。在mac系统上编写Objective-C一般都使用xcode编译器。 4.不支持命名空间机制。一般都是在类别名称加前缀。在

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语言特性所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存