- C++相談室 part133
382 :デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)[sage]:2017/12/09(土) 16:16:46.64 ID:85CJr7Ot0 - メンバ変数hogeにgetHoge,setHogeなんて名前の下駄雪駄を
機械的に作ろうとしてる事自体が間違いの可能性を考えろ class Window { int width, height; ... //まちがい int getWidth() const; int getHeight() const; void setWidth(int w); void setHeight(int h); //せいかい Size getCurrentFrameSize() const; void resize(int width, int height); };
|
- C++相談室 part133
384 :デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)[sage]:2017/12/09(土) 16:38:09.40 ID:85CJr7Ot0 - クラス内部状態の変更は意味のある操作単位として外部に公開すべきであって
むやみに内部の変数を下駄雪駄として露出すんなっていうつもりだったんだが難しかったかな?
|
- C++相談室 part133
396 :デフォルトの名無しさん (ワッチョイ bfe7-F7Qh)[sage]:2017/12/09(土) 21:10:02.77 ID:85CJr7Ot0 - クラスにメンバーがいっぱい→それぞれの下駄雪駄をいっぱい作らなきゃ!→楽な書き方ないの?
っていう発想から抜け出せてないんだろうけど この最初の矢印がそもそも間違いだって言ってんだよ まずはどんな操作をpublicで公開すべきなのかちゃんと設計しろ、話はそれからだ 結果的にただのgetterとsetterとして実装されるものはもちろんあるだろうし、それが悪いわけじゃないけど、 そんなのが自動生成しなきゃ追いつかないほど大量に出てくるようなら一回設計を疑うべきだ
|