object-c如何创建一个简单的类

本文介绍了一个简单的Objective-C程序,演示了如何定义并使用一个名为Fraction的类来表示分数。该程序包括设置分子和分母的方法,并通过两种不同的方式打印分数。

这个实例为我们展示了在object-c中,如何创建和使用类(class),不要忘记,object-c是面向对象的啊。

Fraction,,正如它的含义所在一样,这个程序只提供了打印分数的例子

1. 代码:

   //文件名:Fraction.h

#import <Foundation/NSObject.h>


@interface Fraction: NSObject {
    int numerator;
    int denominator;
}


-(void) print;
-(void) print2;
-(void) setNumerator: (int) d;
-(void) setDenominator: (int) d;
-(int) getNumerator;
-(int) getDenominator;
@end


//文件名:Fraction.m

#import "Fraction.h"
#import <stdio.h>


@implementation Fraction
-(void) print {
    printf( "%i/%i", numerator, denominator );
}


-(void) print2 {
    printf( "%i/%i", [self getNumerator], [self getDenominator] );
}


-(void) setNumerator: (int) n {
    numerator = n;
}


-(void) setDenominator: (int) d {
    denominator = d;
}


-(int) getDenominator {
    return denominator;
}


-(int) getNumerator {
    return numerator;
}
@end

// main.m

#import <stdio.h>
#import "Fraction.h"


int main( int argc, const char *argv[] ) {
    // create a new instance
    Fraction *frac = [[Fraction alloc] init];


    // set the values
    [frac setNumerator: 1];
    [frac setDenominator: 3];


    // print it
    printf( "The fraction is: " );
    [frac print];
    printf( "\n" );
    [frac print2];
    printf( "\n" );


    // free memory
    [frac release];


    return 0;
}


2.编译运行:

$ gcc -fconstant-string-class=NSConstantString -c main.m -I /GNUstep/System/Library/Headers

$ gcc -c Fraction.m -I /GNUstep/System/Library/Headers

$ gcc -o main main.o Fraction.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base

$ ./main.exe
The fraction is: 1/3
1/3

3. 说明:

(1). 请比较print 和print2两个消息的不同;

(2). 关于Fraction,更复杂的例子请参考“Windows如何进行Object-C的开发”一文,位于iPhone目录下。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值