OC之【@protocol协议】

原创 2013年12月01日 20:49:25

#import <Foundation/Foundation.h>


@protocol Study <NSObject>

// 默认就是@required

- (void)test3;


// @required表示必须实现的方法

// 虽然字面上说是必须实现,但是编译器并不强求某个类进行实现

@required

- (void)test;


- (void)test1;


// @optional表示可选(可实现\也可不实现)

@optional

- (void)test2;

@end



main.m文件

#import <Foundation/Foundation.h>

#import "Student.h"


@protocol Study;


int main(int argc, const char * argv[])

{


    @autoreleasepool {

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

        

        // OC是弱语法的,对类型要求不严格

        // NSString *stu = [[[Student alloc] init] autorelease];

        // [stu stringByAbbreviatingWithTildeInPath];

        

        // conformsToProtocol:判断是否遵守了某个协议

        if ([stu conformsToProtocol:@protocol(Study)]) {

            NSLog(@"Student遵守了Study这个协议");

        }

        

        // respondsToSelector:判断是否实现了某个方法

        if ( ![stu respondsToSelector:@selector(test)] ) {

            NSLog(@"Student没有实现test这个方法");

        }

    }

    return 0;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

OC之Protocol (协议)

(一)简介 1.Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现。 2.只要某个类遵守了这个协议,就拥有了这个协议中的所有方法声明。 3.只要父类遵守了某个协议...
  • cl110cl
  • cl110cl
  • 2015年03月15日 15:10
  • 378

OC------协议(Protocol) & 代理(Delegate)

Protocol(协议) 因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替。Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法...

OC--protocol 协议

刚开始学习那会,常有人和我说,协议就和java中的接口差不多!what fuck?java中的接口是什么东西?能不能不要这么介绍!!!一个东西还没明白呢,又来一个定义。。。。能不能好好的说协议。...

小白学开发(iOS)OC_ protocol(协议) (2015-08-09)

// //  main.m //  protocol(协议) // //  Created by admin on 15/8/12. //  Copyright (c) ...

黑马程序员-OC语言协议Protocol

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.概念 1>协议(Protoco)是一系列方法的列表,其声明的方法可以被任何类...
  • wlwl363
  • wlwl363
  • 2015年03月15日 11:22
  • 226

OC - 第七章 类的扩展: 类目Category, 延展Extension, 协议Protocol ( 二 )

/******** 类的扩展: 子类, 类目Category, 延展Extension, 协议Protocol ********//* 协议: Protocol Proto...

17、OC 协议(protocol)

协议的作用与Java中接口的作用非常类似,用于定义类应该遵守的规范,协议不提供实现,只定义规范。协议中定义多个类的公共行为规范,协议通常定义一组公用方法,方法的实现交给类去完成。 协议的基本语法格式...

OC_类目(Category)、延展(extension)、协议(Protocol)

类目:定义:为现有工程中的类和系统类添加新的方法 作用:在类目中添加新的方法及属性和原类中添加方法和属性是一样的,都能被类和该类的子类调用,这样可以快速便利维护和开发项目。 @implementati...

OC 基础之—(NSDate, 类目 Category,协议Protocol, 延展,委托代理)

一 时间类 1.NSDate  日期类  继承自 NSObject, 代表着一个时间点 初始化方法: NSDate *date = [NSDate date]; 打印出来的是0时区的时间,格林...

15、黑马程序员-OC Protocol(协议)

(一)简介 1.Protocol:就一个用途,用来声明一大堆的方法(不能声明成员变量),不能写实现。 2.只要某个类遵守了这个协议,就拥有了这个协议中的所有方法声明。 3.只要父类遵守了某个协议,那么...
  • zwcshy
  • zwcshy
  • 2014年11月30日 14:38
  • 293
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OC之【@protocol协议】
举报原因:
原因补充:

(最多只允许输入30个字)