IOS开发基础Object-C(02 )—第一个OC类

一、创建一个类

1、创建一个新文件,选择OS X下Cocoa(IOS下Cocoa Touch)中Objective-C class模板
2、输入类名,如:Student。在Subclass of(子类属于)选项中,选择NSObject。
可以这么说,几乎所有的类都继承与NSObject。
官网关于Cocoa框架有如下介绍:
Cocoa supplies two root classes: NSObject and NSProxy.
这就解释了所谓的“几乎”。剩下不继承NSObject的都继承NSProxy,因为NSProxy的应用比较特殊,在Cocoa程序中比较少见,具体的例子可以参考官方API说明文档中关于NSProxy类的介绍,里面讲到了一些例子,比如NSDistantObject。
3.创建一个类后,在项目中会生成两个文件,Student.h文件和Student.m文件。

扩展:源代码文件扩展名对比

IOS开发基础Object-C(02 )—第一个OC类_第1张图片

从上图可以看到OC中的类含有两个文件:
.h 文件,类的声明文件,用于生命变量、方法,不作任何实现。
.m 文件,类的实现文件,用于实现.h文件中的方法。

特别注意:在初学阶段,先不要勾选Automatic Reference Counting,在上一篇博客中已经说到,OC不同于Java的地方有一点就是OC没有垃圾回收机制,使用的是引用计数机制,需要手动回收,这一点我到后面的内存管理上会讲,大家先不要着急。ARC(Automatic Reference Counting)机制就是省掉了我们自己回收垃圾的代码,他会自动识别进行内存管理。如果我们想要弄清楚OC回收内存的原理,就先不要勾选ARC,等我们弄清楚原理以后再勾选也不迟。现在我们的目的就是学习。

二、类的声明

1、@interface关键字
打开Student.h文件,声明一个类,代码如下:

//声明一个类
@interface StudentNSobject{
    int age;  //属性要放在大括号里
    //int no;
}  

@end

上述的代码声明了一个类,类名SimpleClass,继承自NSobject 。定义的方法属性放在上面两个@语句之间。属性放在大括号里。
2、get方法

-(int) age;

age的get方法默认与属性名相同,还有一点需要补充的,就是在OC中,动态方法用“-”表示,静态方法用“+”表示。

3、set方法

-(void) setAge:(int ) newAge;

一个“:”对应一个参数,如果有两个参数,则:

-(void) setAge :(int)newAge andNo:(int) newNo;

三、类的实现

1、导入头文件

 #import <Foundation/Foundation.h>
 #import "Student.h"

2、实现类中的方法,关键字:@implementation

@implementation Student
//get方法的实现
-(int)age{
    return age;
}
//set方法的实现
-(void)setAge:(int)newAge andNo:(int)newNo{
    age=newAge;
    no=newNo;
}
@end

四、在main.m中调用
1、先导入头文件

 #import "Student.h"

2、创建一个对象
(1)调用一个静态方法alloc来分配内存

 Student *stu=[Student alloc];

(2)调用一个动态方法init来进行初始化

stu=[stu init];

以上流程大家理解了吧,那就垃圾代码合在一起:

Student *stu=[[Student alloc] init ];

3、调用setAge方法

 [stu setAge:100];

4、调用get方法

 int age=[stu age];

5、打印一下

NSLog(@"年龄:%i",age);

6、释放对象

[stu release];

这一部分看不懂的会在以后内存管理中单独说,大家不要着急。

注意:以上方法都是为了好理解,方法比较复杂,以后熟悉以后我还会为大家逐渐介绍几种简单方法,两行代码就能代替get,set方法,怕大家理解不了所以先上直观方法。有OC基础的请自动略过

你可能感兴趣的:(ios,Objective-C,C语言,ios开发)