最近自学ios,ios的支持语言是Objective-c,因此要学习ios就须要先学习Objective-c语言。当掌握了Objective-c的基础知识以后,咱们就能够入手学习iOS开发作出一些本身的应用。 java
我如今仍是一名java程序员因此我就按照java的理解方式去理解Objective-c。最初先了解他的语法。下面 这段代码是我在学习过程当中跟java对比的理解。都是一些最最基础的语法,随后会逐步深刻。 ios
代码段一:类的定义,类的定义放置在后缀为“.h”的文件中在java中是没有这一步的,这个跟c++很像。 c++
//导入代码文件,至关于java中的导包
#import <Foundation/Foundation.h> @interface Song : NSObject { //声明属性,素性的声明须要放在花括号中 NSString * name; NSString * artist; int ID; } //至关于定义get,set方法 @property int ID; //重初始化方法,至关于java中的构造函数 //在重写初始化方法是也能够随意命名方法名,返回值为id类型就能够 -(id)init; //带参数的初始化方法 -(id)init:(NSString *)name artist:(NSString *)artist; //声明实例方法,get方法,带返回值的返回值类型是NSString至关于java的String类型 -(NSString *)name; //声明没有返回值的方法,set方法 -(void)setName:(NSString *)newName; -(NSString *)artist; -(void)setArtist : (NSString *)newArtist; //重写父类中的方法 -(NSString *)description; //声明静态方法 +(void) getString; @end
代码段二:类的实现,类的实现代码放置在后缀为“.m”的文件中。 程序员
#import "Song.h" @implementation Song -(id)init { return self; } - (id)init:(NSString *)name artist:(NSString *)artist { self = [super init]; if (self) { self.name = name; self.artist = artist; } return self; } //至关于实现get,set方法 @synthesize ID;/*
/* *实现实例方法 */ -(NSString *)name // { return name; } -(void)setName:(NSString *)newName { name = newName; } -(NSString *)artist { return artist; } -(void)setArtist:(NSString *)newArtist { artist = newArtist; } -(NSString *)description { //用self关键字使用"."方式调用自己的方法,self表明自己,至关于java中的this关键字 return self.name; //用self关键字使用obj_c自己特性调用自己的方法 //return [self name]; } /* *实现静态方法 */ +(void)getString { NSLog(@"name:chh"); } @end