oc回顾

一、类、对象、属性和方法

1、对象是一个具体的事物,对应着一片内存空间,对象拥有属性和方法;

2、属性是某一对象具有的一些特性;

3、方法是某一对象具有的功能,也就是他能发生的行为;

4、类是一类具有相同属性的抽象;

二、类、类别、扩展、协议

1、类

类的声明:

@interface 类名 :父类

@end

类的实现:

@implementation 类名

 

@end

2、类别:可以在一个类的类别中声明和实现该类的方法,但不可在类别中声明实例变量,主要用于对以封装的类进行补充和完善;

类别的声明

@interface 类名 (类别名)

@end

3、扩展:在扩展中可以声明方法和实例变量,但不能实现,在其中声明的方法只能在主的类中进行实现,主要用于对需要保护的变量或方法的声明,不在h文件中公布,从而使其声明的内容得到保护;

@interface 类名 ()

@end

 

4、协议:协议用于两个类之间的方法调用,代码实例如下:

#import<Foundation/Foundation.h>

@protocol   daili  <NSObject>
@required
- (void)doHomeWork;
@end
@ interface teacher :NSObject
@ property(nonatomic,strong)id<daili>delegate

- (void)assignHomeWork;
@end


@implementation teacher
- (void)assignHomeWork
{
       [_delegate  doHomeWork];
}

@end


@interface students :NSObject<daili>
- (void)doHomeWork;
@end

@implementation students
- (void)doHomeWork
{
    
      NSLog(@"do home work");

}
@end

 int main()
{
      teacher *ter=[[teacher alloc] init];
      students *stu=[[students alloc] init];
      ter.delegate=stu;
      [ter assignHomeWork];
      return 0;

}

 

posted @ 2014-03-05 09:07  恋~时光  阅读(119)  评论(0编辑  收藏  举报