1

誰かが私にインスタンス/オブジェクトが次のコード(objective-C)で何であるかを説明してもらえますか?voidの前の(-)voidは、インスタンスのメソッドを意味するため、混乱していますが、インスタンス/オブジェクトがどこにあるかわかりません。

  #import <Foundation/Foundation.h>
//interface section
@interface Fraction: NSObject
- (void) print;
- (void)setNumerator: (int) n;
- (void)setDenominator: (int) d;
@end
//implementation section
@implementation Fraction
{
    int numerator;
    int denominator;
}
-(void) print;
{
    NSLog(@"%i/%i",numerator,denominator);
}
-(void) setNumerator:(int)n
{
    numerator = n;
}
-(void)setDenominator:(int)d
{
    denominator = d;
}
@end
//program section
int main(int argc, const char * argv[])
{
//this is a program to work with fractions-class version
    @autoreleasepool {
        Fraction *myFraction;
        //create an instance of a fraction
        myFraction = [Fraction alloc];
        myFraction = [myFraction init];
        //set fraction to 1/3
        [myFraction setNumerator:1];
        [myFraction setDenominator:3];
        //display the fraction via print methoD


        NSLog(@"the value of myFraction is:");
        [myFraction print];
         }
    return 0;
}
4

1 に答える 1

1

myFraction は Fraction クラスのインスタンスです。インスタンス メソッドはクラスではなくインスタンスにアドレス指定する必要があり、ご覧のとおり、print、setNumerator、および setDenominator はすべて myFraction にアドレス指定されます。

于 2013-02-15T04:30:44.137 に答える