IOS学习笔记——Objective-c基础(一)

本秂侑毒 提交于 2019-12-01 02:08:56

最近自学ios,ios的支持语言是Objective-c,所以要学习ios就需要先学习Objective-c语言。当掌握了Objective-c的基础知识之后,我们就可以入手学习iOS开发做出一些自己的应用。

我现在还是一名java程序员所以我就按照java的理解方式去理解Objective-c。最初先了解他的语法。下面 这段代码是我在学习过程中跟java对比的理解。都是一些最最基础的语法,随后会逐步深入。

代码段一:类的定义,类的定义放置在后缀为“.h”的文件中在java中是没有这一步的,这个跟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



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!