- 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指定で、今回の件について困るとは思えない。
|