Objective-C中类的定义

2014-11-24 08:49:45 来源: 作者: 浏览: 0

由于本人编写程序的经验并不是相当的丰富,且对面向对象的理解还停留在知道原理而而不知道怎么高效的去用的状态下,所以这里只简单的介绍一下我的理解,面向对象编程犹如我们中华的文化博大精深,还需要继续努力学习、练习、实践之。


类的定义


Objective-C的类分为两个文件,一个是.h文件一个是.m文件


.h文件存放类、函数声明,类声明用关键字@interface @end来声明


.m文件存放类的具体实现,类实现使用关键字@implementation @end来实现


对象方法和类方法


声明和实现一个类的函数,需要使用+或者-来用在函数的开始


+表示类的方法,相当于java中的静态函数


-表示对象方法,对象实例化后才可以调用


类声明
#import
@interface Student :NSObject{

}



@end


类实现:
#import "Student.h"
@implementation Dog


@end


类和对象的关系
一般的在面向对象的编程中有这么一句话:万物皆对象。当然,要在面向对象的编程过程中做到这一点,需要很丰富的代码编写经验才行。
什么是对象,举个例子,你看到的一个人,一辆车,甚至是车上的一个轮子,轮子上的螺丝都可以当做一个对象,关键是你在编程的过程中怎么去处理了,最后还是再来一句,万物皆对象。
什么是类:类就是提取对象中共性内容,对具体的抽象。如,一个班的同学,我们就可以提取这个班的同学的共性的内容成一个学生Student类,这个Student类都有学号、年龄、班级等等。在oc中就是用@interface定义,@Implementation实现的那个玩意,就是一个类。
在oc中对象是通过指针来声明的,如Student *xiaoMing;
oc中对象的创建,使用alloc来创建一个对象,编译器会给xiaoMing对象分配一个可用的内存,在堆内存中。然后需要对对象进行初始化即调用init方法,这样这个对象才可以使用,如:Student *xiaoming = [Student alloc]init];
同一个类的每一个对象有不同的实例变量的存储空间。
同一个类的每个对象共享该类的方法。
初始化方法的实现:
-(id)init
{
self = [super init];
if(self)
{
//init code
}
return self;
}



一般会这么写:
-(id)init
{
if(self = [super init];)
{
//init code
}
return self;
}



self指的是类对象本身,super指的是父类对象
子类的初始化方法必须调用父类的指定的初始化方法,通过向super发送相应的消息初始化父类。
[self calss];//获取本类的名称
[super class];//获取父类的名称


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: