- PR -

静的メソッドとインスタンスメソッド

投稿者投稿内容
ひら
ぬし
会議室デビュー日: 2005/03/04
投稿数: 260
投稿日時: 2006-09-02 10:09
引用:

甕星さんの書き込み (2006-09-02 06:27) より:
なりません。メソッドがリエントラント(再入可能)か否かと、静的メソッドか否かは全く関係ありません。静的メソッドでも実装が適切なら、リエントラントに出来ます。


言葉足らずですみません。私の発言は、「構造化言語から移行してきた人にとっては、
リエントラントという発想がない」というニュアンスを含んだものでした。
純粋に静的かどうかというお話ですと、甕星さんのおっしゃる通りです。

R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-09-02 10:42
引用:

きくちゃんさんの書き込み (2006-09-01 23:09) より:

私の場合、例えばログイン先がシステム内で唯一無二な場合なんかは、スタティックなメンバのみを公開するログインクラスを使用したりしてます。シングルトンでもいいけど。


確かにその方がすっきり書けますね。

そういえば、僕はあまり静的メソッドを用いない人でした・・・
この辺りの使い方については、今後、意識して使い分けてみようと思います。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-09-02 11:04
引用:

ひらさんの書き込み (2006-09-02 10:09) より:
言葉足らずですみません。私の発言は、「構造化言語から移行してきた人にとっては、
リエントラントという発想がない」というニュアンスを含んだものでした。


はて?
引用:

ひらさんの書き込み (2006-09-02 01:36) より:
ふと思ったんですけど、Webアプリの場合、静的メソッドだとまったく同時に
2台以上の端末からログインしたら大変なことになりませんか?


これの言い訳になってないと思うんだけど・・
リエントラントという発想がないだけでどこがどう大変なの?

2名ほどあれな人がいるね。ここ。
にー
常連さん
会議室デビュー日: 2006/04/30
投稿数: 35
投稿日時: 2006-09-02 12:21
こう考えては如何でしょうか?

静的メソッドしかなかった場合、どのような場面で困るのか?
インスタンスメソッドしかなかった場合、どのような場面で面倒と思うのか?

それが解れば、それが答えだと思います。
解らなければ、どっちでも良いのでしょう。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-09-02 13:36
引用:

ひらさんの書き込み (2006-09-02 10:09) より:

言葉足らずですみません。私の発言は、「構造化言語から移行してきた人にとっては、
リエントラントという発想がない」というニュアンスを含んだものでした。


そうかな?、僕は C言語 から .net系 に引っ越してきたけれど、
特にそんなことは無かったと思う。

あー、各メソッドで使う変数を全部クラス単位で持ってたりするのかな。。。
未記入
大ベテラン
会議室デビュー日: 2006/05/19
投稿数: 125
投稿日時: 2006-09-03 16:36
みなさまありがとうございました。

完全なオブジェクト指向で書かないからオブジェクト指向の恩恵を受けられない。

まずは「できる限り」オブジェクト指向で行きましょうと説得してみます。

ありがとうございました。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2006-09-04 08:45
引用:

Ahfさんの書き込み (2006-09-01 23:20) より:
・ログインを一つのオブジェクトとして捉える(未記入さん式)
→クラスとしてログインを用意しそのクラスのメソッドを用意する


「ログイン」を処理するオブジェクト、あるいは「ログイン」情報(=セッション?)を保持するオブジェクトとして捉えているのだと思っていました…。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-09-04 09:30
引用:

かるあさんの書き込み (2006-09-02 13:36) より:
あー、各メソッドで使う変数を全部クラス単位で持ってたりするのかな。。。


そういえば、BASICからCへ来た人の中に、なんでもグローバル変数にしたがる人がいましたね。
私もBASICが先でしたが、教えてくれた人が良かったのか、「Cの関数=BASICのプログラム」という感覚でした。
なので、当初は逆にグローバル変数という発想がありませんでした。

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