LHF Objective-C语法(8)协议
来源:互联网 发布:百胜软件多少钱 编辑:程序博客网 时间:2024/06/05 11:56
Printing.h
@protocol Printing1-(void)print1;@end@protocol Printing2-(void) print2;@end@protocol Printing3<Printing2>-(void)print3;@end
1、objc里的协议与java中的接口是同一个东西
2、协议可以遵从协议
2、说法:类Fraction遵从了Printing1、Printing3
//Fraction.h================================#import <Foundation/Foundation.h>#import "Printing.h"@interface Fracion : NSObject<Printing1,Printing3>{int numerator;int denominator;}-(Fraction*) initWithNumerator:(int) n denominator:(int)d;-(void) setNumerator:(int) n;-(void) setDenominator:(int) d;-(int) numerator;-(int) denominator;@end//Fraction.m================================#import "Fraction.h"@implementation Fraction-(Fraction*) initWithNumerator:(int) n denominator:(int)d{self = [super init];if(self){[self setNumerator:n];[self setDenominator:d];}}-(void) setNumerator:(int) n{numerator = n;}-(void) setDenominator:(int) d{denominator = d;}-(int) numerator{return numerator;}-(int) denominator{return denominator;}-(void)print1{NSLog(@"1:%d/%d",numerator,denominator);}-(void)print2{NSLog(@"2:%d/%d",numerator,denominator);}-(void)print3{NSLog(@"3:%d/%d",numerator,denominator);}main.m
//main.m================Fraction *frac = [[Fraction alloc] initWithNumerator:3 denominator:5];<Printing1> p1 = frac;//id<Printing1> p1 = frac;[p1 print1];id<Printing1,Printing2,Printing3> p2 = frac;[p2 print2];[p2 print3];//用于判断对象是否遵从某个协议if([frac conformsToProtocol:@protocol(Printing1)]&&([frac conformsToProtocol:@protocol(Printing2)]&&([frac conformsToProtocol:@protocol(Printing3)]){NSLog(@"YES");}else{NSLog(@"NO");}[frac release];return 0;
- LHF Objective-C语法(8)协议
- LHF Objective-C语法(2)类
- LHF Objective-C语法(6)继承
- LHF Objective-C语法(12)多线程
- LHF Objective-C语法(14)谓词
- LHF Objective-C语法(1)简介
- LHF Objective-C语法(3)布尔类型 nil
- LHF Objective-C语法(4)对象初始化
- LHF Objective-C语法(5)异常处理
- LHF Objective-C语法(9)内存管理
- LHF Objective-C语法(10)常用类型
- LHF Objective-C语法(13)KVC KVO
- LHF Objective-C语法(7)id类型、动态判断与选择器
- LHF Objective-C语法(11)写入和读取属性 对象的复制
- Objective-C 语法五(协议)
- Objective-C 协议(protocol)
- Objective-C 协议(protocol)
- Objective-C 协议(protocol)
- 包_CAT
- COM组件设计与应用(十三) 事件和通知(VC6.0)
- 接口,接口是更加抽象的
- vimball
- 失业66天
- LHF Objective-C语法(8)协议
- final-概念
- 对象数组的使用
- SuSE11安装gcc及http服务
- 怎么来看游戏常规指标数据 http://www.cnblogs.com/yuyang-DataAnalysis/
- 编译器处理相关
- * 几何框架的使用
- sql injection via xss
- 演示Java集合类的用法