- PR -

メソッドの引数にをプリミティブ変数ではなくクラスを渡す理由

投稿者投稿内容
otf
ベテラン
会議室デビュー日: 2006/08/04
投稿数: 91
投稿日時: 2008-03-31 12:32
引用:

nagiseさんの書き込み (2008-03-31 11:58) より:
安定というのはどういう意味でしょうか?

オブジェクトの参照の場合、参照先オブジェクトのフィールドが
変更されることがあることを指して「不安定」と言っているのでしょうか?
そうした意味合いであればImmutableパターンで解決できる問題です。



すみません。少しわかりにくい表現をしてしまいました。
安定というのは(定義が)変更されにくいということです。
プリミティブ型が変更されることはほとんどありません。
ですからどれだけ依存しても依存する側も安定だということです。

ユーザー定義のクラスは変更される可能性があります。
例えば

コード:
//もしこのクラスが変更されたらそれに依存しているfも
//影響を受けてします。
class T
{
public int i;
}

void f(T t)
{
T.i = 3;
}



プリミティブ型ではこれを考慮する必要はありませんので
その点プリミティブ型の勝っているところだと思います。
しかしクラスはユーザー定義できますしインターフェースによって依存性を低く抑えることもできるのでクラスのほうが適切なときもあると思います。

スキルアップ/キャリアアップ(JOB@IT)