Cocoa 接口的定义于检测

来源:互联网 发布:软件使用统计 编辑:程序博客网 时间:2024/04/28 18:40

 

//-------接口定义

@protocol Printing

-(void) print;

 

@end

---------

 

//----实现接口 Printing -------

//----接口中的print 方法不必写出来

@interface Fraction : NSObject <Printing,NSCopying> {

int numerator;

    int denominator;

}

-(Fraction*) initWithNumerator:(int)n denominator:(int)d;

-(int)  numerator;

-(int)  denominator;

-(void) setNumerator:(int)n;

-(void) setDenominator:(int)n;

-(void) setNumeratorAndDenominator:(int) num 

  andDeno:(int) den;

 

@end

--------------

@interface Complex : NSObject<Printing>{

double real;

double image;

}

 

-(Complex*) initWithReal: (double) r andImage: (double) i;

-(void)   setReal: (double) r;

-(void)   setImage: (double) i;

-(void)   setReal: (double) r andImage: (double) i;

-(double) real;

-(double) image;

 

@end

--------------

Fraction *frac = [[Fraction alloc] initWithNumerator: 3 denominator: 10];

    Complex *comp = [[Complex alloc] initWithReal: 5 andImage: 15];

    id <Printing> printable;

 

    copyPrintable = frac;

  

    // true

    if ( [frac conformsToProtocol: @protocol( NSCopying )] == YES ) {

        printf( "Fraction conforms to NSCopying/n" );

    }

   if ( [frac conformsToProtocol: @protocol( Printing )] == YES ) {

        printf( "Fraction conforms to Printing/n" );

    }

    // false

    if ( [comp conformsToProtocol: @protocol( NSCopying )] == YES ) {

        printf( "Complex conforms to NSCopying/n" );

    }

    //true

    if ( [comp conformsToProtocol: @protocol( Printing )] == YES ) {

        printf( "Complex conforms to  Printing/n" );

    }

    // free memory

    [frac release];

    [comp release];

 

============接口的定义于实现

 

 

 

原创粉丝点击