トップページ > プログラム > 2016年03月16日 > XCH1ZELV

書き込み順位&時間帯一覧

2 位/201 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000000000000000353617



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
517 :デフォルトの名無しさん[sage]:2016/03/16(水) 20:02:34.40 ID:XCH1ZELV
>>513
もちろんそれもある。
だがその前にVBAのPrivateのスコープが糞なら>>449が言ってるみたいにC++やJavaのPrivateが同クラスから生成したとは言え、
見えてしまうのもまた糞なんだということに気付かない
このC++使いが糞なんだと思うよ。

確かにVBAは古い言語だし、
複数人で一つのシステム作るようなことは
少ないから然程問題でも無いかも知れないけど、
大きなシステムを作ることを前提とした言語では、
この問題は大きいのかもしれないね。

取り敢えず、>>494には「ブーメラン乙」と言っておこうかな。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
524 :デフォルトの名無しさん[sage]:2016/03/16(水) 20:45:48.53 ID:XCH1ZELV
>>521
君の持論はどうでもいい。

内輪って何を持ってして言ってるんだ?
同じクラスで生成したものに覗かれたくないとき
どうすんだよ?

同じクラスの奴だって宗教とか性癖とか知れたら個人情報漏洩だろ?

君だって家族に自分が隠しているエロ動画が入ったフォルダ位置知られたくないだろ?

VBAは逆にPrivateが他所から見えないから
他所に見せるとなればPublic指定するしかないと
なればそれはそれで不味いけどな。

一人の世界でちまちま作ることが多いから問題になりにくいだけで。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
526 :デフォルトの名無しさん[sage]:2016/03/16(水) 20:51:33.31 ID:XCH1ZELV
>>525
でもそう言うことだろよ
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
531 :デフォルトの名無しさん[sage]:2016/03/16(水) 21:06:57.13 ID:XCH1ZELV
まんま>>524の話を置き換えてみれば分かるだろ?
君の家族で個人の情報を扱うクラスがあって、
例えばどんなカテゴリの商品を普段買っているかを取得するメソッドがあったとしよう。

Privateな変数に、買った商品名からカテゴリ分けするために、一時的に買った商品名が格納されるとしよう。

他のインスタンスから幼女がどうのとか見えちゃうんだぜ?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
533 :デフォルトの名無しさん[sage]:2016/03/16(水) 21:18:00.41 ID:XCH1ZELV
>>532
ふと気になったんだがC++やJavaの場合、インターフェースを使ったものでも互いに内部が見えてしまうのか?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
537 :デフォルトの名無しさん[sage]:2016/03/16(水) 21:30:53.11 ID:XCH1ZELV
>>534
全くその通りだな。
まだ「こうすると代用が効く」と言う話ならともかく、
ただ重箱の隅を突いて「VBAのクラスは糞だ!C++SUGEEE」って言ってる奴から
何か学べることが有るのかと言われると疑問ではあるな。

どっちかといえば、またC++かと思うだけだ。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
540 :デフォルトの名無しさん[sage]:2016/03/16(水) 21:44:27.31 ID:XCH1ZELV
>>539
何をそんなに大いに困ってるんだ?
そもそもVBAでPublic指定にしてそんなに困ることって何よ?

何かVBAにやらせること間違ってるんじゃないの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
543 :デフォルトの名無しさん[sage]:2016/03/16(水) 21:58:31.99 ID:XCH1ZELV
>>542
俺はswift知らないけれど
あれやってる人はみんないいって言うよね。

ただMac買ってまでやりたいとは思えない。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
546 :デフォルトの名無しさん[sage]:2016/03/16(水) 22:11:32.97 ID:XCH1ZELV
>>544
うむ。あきらめろ。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
548 :デフォルトの名無しさん[sage]:2016/03/16(水) 22:35:11.31 ID:XCH1ZELV
冗談はともかく、自分の中で自分を生成して属性移し替えてその1箇所だけ値変えて返却するんじゃ駄目なの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
550 :デフォルトの名無しさん[sage]:2016/03/16(水) 22:58:36.65 ID:XCH1ZELV
>>549
て言うかObject指向知ってるんだよね?
今までC++ではシングルトンパターンとか使ったことないの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
552 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:06:49.26 ID:XCH1ZELV
一応VBAでも試して見たけど普通に出来るな。
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
553 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:10:47.78 ID:XCH1ZELV
>>551
別のインスタンスと言うより生成した自身のプロパティだろ?
何でループする必要があるんだ?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
555 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:21:42.03 ID:XCH1ZELV
>>554
ごめん、何をもってクローンと言ってるのか分からない。

自分自身の内部で生成するということは当然格納されているアドレスも違うし
インスタンスとしても別物だし、プロパティに設定すれば当然別の値として設定される訳だけど、

何をもってクローンと言ってるの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
557 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:25:52.96 ID:XCH1ZELV
>>556
その認識があってなんで自分そのものって話が出て来るの?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
560 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:32:36.78 ID:XCH1ZELV
>>559
そのメソッドはMyClassに書かれているという認識でいい?
Excel VBA 質問スレ Part40 [無断転載禁止]©2ch.net
565 :デフォルトの名無しさん[sage]:2016/03/16(水) 23:58:10.46 ID:XCH1ZELV
MyClassの中

Private m_Hoge As Long
Public property Let Hoge(ByVal value As Long)
m_Hoge = value
End Ploperty
Public property Get Hoge() As Long
Hoge = m_Hoge
End Property

Public Function GetClone() As MyClass
Dim clone as New MyClass
Clone.Hoge = 1
Set Getclone = clone
End function

俺が言いたいのは、Public指定でもこれで要件が満たせるから何を大いに困ることがあるのかと言うことなんだけど。

このクラスを生成したとき、Hogeには0が入っているがGetCloneで取得したときには1が入る。
他も自分自身から取得して、自分の中で生成したインスタンスのプロパティに設定すればそのままの値となるわな。

別にPublic指定で、今回の件について困るとは思えない。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。