温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Objective-C 入门(二)对象 类 变量 方法

发布时间:2020-04-04 07:02:55 来源:网络 阅读:2784 作者:skyoceanone 栏目:移动开发

Objective-C 入门(二)对象 变量 方法

 

学过Java 面向对象比较熟悉 Objective-C也是面向对象的

我们来看Objective-c所表达的方式

 

先写一个类:我们看到这个类里只有熟悉和方法名字 并没用去实现 .文件

 

 #import <Foundation/Foundation.h>

 @interface SKPerson: NSObject{      //创建类

NSString * name;                     //NSString* 属性

int age;                           //int 属性

 }

-voidsetName(NSString*) n //set get 方法

-voidsetAge: (int)a

-NSString*name

- (void) go;

@end;

 

 

实现这个类的代码  .m 文件

 

@implementation SKPerson

 

-voidsetName(NSString*) n{   //实现setName方法

If(n!=nil){ 

[n retain]                     //拿住这个对象

[ name release]               //释放原来的对象

name=n;

}

}

 

-voidsetAge: (int)a{

Age=a;

}

-NSString*name{

return name;

}

- (void) go{

NSLog(@"This is a method");

}

 

@end;

 

实例化类对象的方法 .m 文件

 

#import <Foundation/Foundation.h>

int main(int argc,const char*argv[]){

NSAutoreleasePool * pool=[[NSAutoreleasePool alloc] intit ];

 

SKPerson * skyoceanone

skyoceanone=[[SKPerson alloc] init]; //也可以写成[SKPerson new]不建议

 

[skyoceanone setName:@"sky"];

[skyoceanone setAge:25];

[skyoceanone go];

 

 

[skyoceanone release];

[pool drain];

return 0;

}

 

NSString * 类型 是一个指针类型 它指向的是字符串的内存地址 OC 的代码 就是指针类型 (以后会做详细的解析指针)

 

然后为变量生成 get set 方法 (get字母被省略) OC中不能自动生成getset 下面介绍 另一种方法来生成 get set

 

属性访问器:

Objective-C 入门(二)对象 类 变量 方法

 

-voidsetName(NSString*) n

-voidsetAge: (int)a

-NSString*name

可以写成:

@propert retain NSString* name //一行代码就实现了 set get

@propert assign int age

 

实习方法的代码可以写成:

@synthesize name

@synthesize age

 

使用方法可以写成:

Skyoceanone.name=@"sky"; //set 方法

Skyoceanone.age=25;

Skyoceanone.age;  //没有= 就相当于 使用了get方法

 

Objective-C 入门(二)对象 类 变量 方法

 

 

 

 ---------本博文针对有JAVA基础 OC还属于初学者 文中有错误的地方还请指出 特感谢赵哲老师提供图片

 

 

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI