トップページ
>
プログラム
>
2016年03月16日
>
P1US5avI
書き込み順位&時間帯一覧
1 位
/201 ID中
時間
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Total
書き込み数
1
0
0
0
0
0
1
0
0
1
0
0
2
1
1
0
0
2
0
0
3
2
2
5
21
使用した名前一覧
書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
C++相談室 part123 [無断転載禁止]©2ch.net
書き込みレス一覧
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
494 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 00:31:56.59 ID:P1US5avI
クラスの仕様があまりにひどい。
まともに扱えるオブジェクトがMeだけじゃんかよ。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
499 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 06:37:26.60 ID:P1US5avI
>>495
Newしたオブジェクトを返すメソッドを書こうとするとまともなカプセル化を保てない。
言語間の仕様の違いとかの問題じゃない。カプセル化がまともにできないのを「仕様」と呼ぶんじゃなければね。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
502 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 09:47:56.17 ID:P1US5avI
>>500
まさに>>433のことを言ってるんだよ。今更とかじゃなくてちゃんと広めるほうがいいだろう。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
504 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 12:22:13.55 ID:P1US5avI
そのあとの反応を見れば明らか。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
505 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 12:26:04.62 ID:P1US5avI
特に>>434とか>>439とか
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
508 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 13:37:07.26 ID:P1US5avI
>>507
秘密というものは「誰と共有するか」が重要。自分だけしかアクセスできないんじゃ大したことはできない。
Newしたオブジェクトは「自分」ではないが、そこに必要な属性を設定して返したいのに触れないんじゃどうしようもない。
そうすると余計なPublicメソッドを実装するはめになる。
秘密を仲間内で共有する方が結果的にカプセル性は向上する。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
511 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 14:32:08.38 ID:P1US5avI
>>510
秘密は「仲間内で共有するもの」じゃないの?
C++相談室 part123 [無断転載禁止]©2ch.net
405 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 17:32:24.76 ID:P1US5avI
>>403
まさかとは思うがローカル変数の参照を返したりしてないよな?
C++相談室 part123 [無断転載禁止]©2ch.net
407 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 17:35:54.73 ID:P1US5avI
漢だな
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
518 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 20:06:33.63 ID:P1US5avI
全部Public?たけのこの里抹茶味以上にありえんわ
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
521 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 20:20:08.01 ID:P1US5avI
Privateデータをパスワードか何かと混同していないか?
何度も言うように秘密というのものは内輪で共有し、外に秘匿することで価値が出るんだよ。
実際自分のクラスでさえPrivateが触れないんじゃclone作るのに支障があるし、逆にPublicにしたらユーザーコードからさえ見えてしまう。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
529 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 20:59:09.97 ID:P1US5avI
自分以外ぜんぶ秘密にしろと言う奴とぜんぶPublicでいいと言う奴を同時に相手にすることはできない。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
536 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 21:28:01.91 ID:P1US5avI
念のため言っておくと「Privateにすると手間ばかりかかるくせに大したガードにならないからやってらんねー」という意見を否定するつもりはない。
しかし言語を擁護するような発言は理解しがたい。一緒にVBAをこき下ろせばいいのに。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
539 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 21:41:43.36 ID:P1US5avI
>>537
重箱の隅?
実際に大いに困ってるから言ってんじゃねーか。
それに代用案はもともとこっちが知りたかったことだ。
意に反して「そんなの必要ない」の声が出てきたからどっかにいっちゃったけど。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
544 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 22:05:01.48 ID:P1US5avI
>>540
オブジェクト(Me)の属性のうち1ヶ所だけを変えたオブジェクトをNewして返すメソッドを作りたい。
それ以外の属性としてはそれなりの過程を経て組み立てられたDouble行列なんかを複数持っている。
内部的な整合性の面ではデリケートに扱わざるを獲ない感じ。
変えたい属性は単なるLong値なのでPublicでもいい。
だからclone作りたい。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
549 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 22:42:24.68 ID:P1US5avI
>>548
えっえっそんなことができるの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
554 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 23:16:17.22 ID:P1US5avI
>>553
クローンだよ。自分そのものじゃないよ。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
556 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 23:23:04.93 ID:P1US5avI
クローンて一般化してる用語だから通じてると思ったけど一応。
http://java.keicode.com/lang/clone.php
フィールドの値まるごとコピーだけど別の実体。
クローンに何か操作しても元のオブジェクトにはもう影響は及ばない。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
559 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 23:28:40.04 ID:P1US5avI
>>553
Function clone() As myClass
Set clone = New myClass
' ここ
End Function
「ここ」でどうやってMeの属性をcloneにコピるかだけど、
Me ≠ clone だからclone のPrivate属性には触れないよ。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
562 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 23:44:04.84 ID:P1US5avI
>>560
そうだよ
>>561
一貫してPrivateを主張している。別にまだ諦めているわけではない。自分ももくは誰かが裏技を思い付く可能性はまだある。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
564 :
デフォルトの名無しさん
[sage]:2016/03/16(水) 23:49:04.03 ID:P1US5avI
>>563
お前最初っから下らないレスしかしてないじゃん。
ゴミ。
※このページは、
『2ちゃんねる』
の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合は
メール
をしてください。対応します。