0

私は obj-c プログラミングが初めてで、Kochan の本を読みました。

ここに本のコードがあります

-(void) add:(Fraction *) f 
{
  numerator = numerator *f.denominator + denominator * f.numerator
  denominator = numerator * f.denominator

}

「f」がFractionを指していることは知っていますが、メソッド内でf.numeratorまたはf.denominatorを使用する理由がわかりません。

誰かが私のためにそれを説明できますか? 私の母国語は英語ではありません。だから簡単にしてください。

編集:まあ、数学では(a/b)+(c/d)=(ad + bc)/(bd)を使用していますが、この式は知っています。なぜアスタリスクの後になぜfドットを入れるのか、私にはわかりません.fがどこを指しているのか知りたいのです。

*編集*2

「(Fraction *)f」という括弧内の単語については、まだ少し問題があります。

本には、「これは、 add:method への引数が Fraction クラスからのオブジェクトへの参照であることを示しています」と述べています

その括弧内の Fraction は Fraction クラスを指していますか? または「f」という単語はFractionクラスを指していますか?

この文がわかりません。それについて詳しく教えていただけますか?

編集3

add メソッド内。なぜたった1つのfドットを使用するのですか? つまりこれに見える

numerator = numerator *f.denominator + denominator * f.numerator

なぜこの部分のようなコードを書くことができないのか。

numerator = f.numerator *f.denominator + f.denominator * f.numerator

この部分がわかりません。

ありがとう。

4

2 に答える 2

1

Fractionクラスのパブリック プロパティのようです。クラスfのインスタンスです。クラスのパブリック プロパティです。ドット表記は と同等です。FractionnumeratordenominatorFraction[f numerator]

編集

これは、代替メッセージ送信構文を使用して書き直されたコードです。

-(void) add:(Fraction *) f 
{
  denominator = numerator * [f denominator];
  numerator = numerator * [f denominator] + denominator * [f numerator];
}

EDIT 2. Fraction クラスのヘッダーは、おそらく次のようになります。

class Fraction : NSObject

// methods
// ...

@property (nonatomic, strong) int numerator;
@property (nonatomic, strong) int denominator;

// other properties
// ...

end
于 2012-07-28T05:39:21.150 に答える
0

numeratorとは、ドット "."denominatorの 2 つのプロパティです。r またはFractionを使用してプロパティを取得および設定するために使用できます。f.numeratof.denominator

于 2012-07-28T05:39:10.740 に答える