[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: [jfriends] staticの使い方




こんにちは。

In message "[jfriends] staticの使い方",
kodutumi wrote...
 >どうも、小堤です。
 >皆様は、スタティックな要素(フィールドとかメソッドとか)をどのようにお使いで
 >しょうか?
 >というのは、昨日上司から
 >「プロジェクトのパーツを作るときパブリックなものは変数もメソッドもスタティッ
 >クで書くように」
 >と言われたのです。
 >私はほとんどインスタンスを生成して使っているので、何か気持ち悪く
 >その設計はまずいんじゃないかと思うのですが、まずい理由が説明できません。
 >皆様はどう思いますか?できたら以下の趣旨でお聞かせください。
 >1、.小堤は間違っている。理由はこれこれ。
 >OR
 >2.上司は間違っている。理由はこれこれ。

オブジェクト指向をご存知無さそーですね、その上司さん。
たしかに、C言語やっていたときは、
公開したくない変数や関数はすべてstaticにすべきだと良く言われています。
その目的は、やっぱり隠蔽なんです。
その隠蔽ですが、C++やJavaではクラスを使用すればその目的は達成されます。

逆に、C++やJavaのようなオブジェクト指向言語でstaticを利用する場合は、
E.Gamma他著「デザインパターン」のデザインパターン"Singleton"のような、
けっこう特殊な要件のときだと思います。

C言語のツモリでJavaでも同様のルール付けを意図されているのでしたら、
ズバリ、2.でしょう。
そうでなければ、上司さんの意図を聞いてみたいですね。