オブジェクト指向におけるstaticメソッドの意義
■ このスレッドは過去ログ倉庫に格納されています
0001デニス・リッチー・サンボラ
NGNGstaticメソッド。コンストラクタのオーバーヘッド
が無い分、パフォーマンスに優れる一方、使いすぎると
只の手続き型プログラミングと化してしまう罠。static
メソッドは名前空間付の手続き型言語の関数に他ならない。
Javaの設計でもジェネリックプログラミングを忠実
に実践したArraysの作りを見る分には使い方次第では
支持している模様。また、Stringなどの不変クラスを
扱うメソッドはstaticメソッドを使うのが自然だろう。
今だから語ろうじゃないか、staticメソッドを。
0002デフォルトの名無しさん
NGNG=== 終了 ===
0003デフォルトの名無しさん
NGNGま た O O 厨 か
ということにしたいのです
0004デフォルトの名無しさん
NGNG***すれ立てるまでもない質問はここで 第35刷***
http://pc2.2ch.net/test/read.cgi/tech/1050078087/l50
0005うんこ
NGNG0006デフォルトの名無しさん
NGNG早く就職してどっかいけ
終了
0007デフォルトの名無しさん
NGNGStringでstaticで扱う必要のないメソッドまでstaticにしてどこが便利なのか。
0008デフォルトの名無しさん
NGNG「1はstaticとfinalを混同しているし、そのどちらもまともに理解していない」
0009デフォルトの名無しさん
NGNGfinalか。
staticとstatic finalとを混同しているかもな。
不変クラスの意味もわかっていなさそうだ。
StringBufferといえばすぐにわかるかな
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGStringは不変
つまり返り血なしなvoidなメソッドだけで
オブジェクトの中身を変更することができないってこった。
一旦Stringで返り血を出して新しいオブジェクトに入れないとStringオブジェクトの中身を
変えることができないって凝った。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGBigIntegerもBigDecimalも不変
StringBuffer以外に可変といえばVectorとかArrayListとか
0014デフォルトの名無しさん
NGNGコンストラクタとデストラクタ以外では、メンバの値を変更できないオブジェクトのこと。
こんなの
class HUHEN {
private:
const int m1;
const char* const m2;
public:
HUHEN( int i, const char* a ) : m1(i), m2( a ) {
}
~HUHEN();
int GetM1() const { return m1; }
const char* GetM2() const { return m2; }
}
0015デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/030418/j_j-jtp02183.html
0016デフォルトの名無しさん
NGNGStringをラップやら継承してたら使い難いだろ。
0017デフォルトの名無しさん
NGNG割り込みセーフを意識したほうがいい。必ずしもセーフである
必要はないけど。
0018デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています