オブジェクトは設計図から作られたもの。コンストラクタが設計図を肉付けするために必要な素材と言うような感じで捉えてました。コンストラクタ無しでももちろん使えるクラスもありますが、中にはコンストラクタを通す事によって具体的な設定がされたりするものもありますよね???コンストラクタって設計図の一部だと思うんですけど、どうでしょう?というか、「コンストラクタが」ではなく、「コンストラクタで行われる初期化や具体的な設定」が設計図の一部かなと。ここでの場合コンストラクタはあまり関係ありません。暗黙ではなく明示化する必要があるのは何故か、考えてみましょう。(^^)この質問の主題を、「暗黙ではなく明示化する必要があるのは何故か」の部分だと捉えたから出てきた言葉だと思います。クラスという概念を植え付け、コードの可読性、保守性に寄与すると考えています。この部分になるのではないかと。以下は記事に対するコメント。"暗黙のXXX"って、それが暗黙的に行われていることをよく知っている人でないと使ってほしくないですよね。明示的にやっちゃうと思います。88Koujiそうですね。明示的な実装は重要ですね。やそういった方では、Essentialはとても読めませんよw多分、読み始めて5分で寝ちゃうんじゃないかな?構造化言語すらできないまま、ここまで来てる人(いわゆる悪い意味でのコボラー)が多いと思うんですよ。構造化言語から理解して頂かないとw言い過ぎかなーとは思うんですが、実際問題そうだと思うんですよ。構造化だけ出来ればええよ。OOなんてしなくても。中さんもし完全否定であれば、そういうわけにもいかんでしょー。しなきゃ組めないんだからー。んぬねっとあー、そっかぁ。データ型については、おとがめなしになってるわね。データ型は例外な気がする。構造化をしっかりやっていくと案外OOPになってたりしますしね。逆に構造化をすっ飛ばしてOOPなんてありえないですしね。>そういった方では、Essentialはとても読めませんよw>多分、読み始めて5分で寝ちゃうんじゃないかな?確かにそうですね。ハードル高かったかな(反省)今後は、「なぜオブジェクト指向で作るのか」あたりを薦めるほうがいいですかね。中博俊いや、構造化ですよ(^^進化の歴史を理解させないと、COBOLでいいという考えのもと、COBOL風のソースができます。88Kouji>いや、構造化ですよ(^^>進化の歴史を理解させないと、COBOLでいいという考えのも>と、COBOL風のソースができます。(^^OOPを毛嫌いする人って構造化自体ができてない人が多いような気がします。あと、COBOL風のクラスってある意味恐怖ですね・・・これでもかってくらい1メソッドに処理詰め込んだり、いろんなものに連番を振りたがります。社内のVBのプロジェクトもそうなっててかなりイヤーな感じです。́Д`;)ヾ日本語理解できてませんでした。質問に対する答えの導きありがとうございます。ナオキレスの伸びが凄くてビックリしました(午前中自分が投稿した時20以下だったから。石坂@isisaka.com>進化の歴史を理解させないと、COBOLでいいという考えのも>と、COBOL風のソースができます。ソフトウェア史、あるいはシステム開発史的な感覚とか理解はとにかく必要だと思います。新しい技術の登場には必然性があるわけで、その必然性を理解するためにも歴史は学ばないといけませんし、なにやら新しい技術として登場したものも、別の形でいつか通ってきた道だと言うことも発見でき、バズワードに惑わされなくなると思います。専門学校での先生は専門教職では無く、元々技術者だった方(第1次オンライン世代!)が多く、学生時代にこういう視点を持たせてくれたと事については今でも大変感謝しています。JittaVC++がDeveloperをターゲットとしたのに対して、VBは、Professionalをターゲットにした製品と聞いています。このProfessionalは、開発のプロではなく、医者や弁護士等の専門職です。開発のプロをターゲットにしたのはなく、医者や弁護士といった本業は他にある人が、本業の助けとして何かを作るときに作りやすいこと。これが目的であれば、オブジェクト指向はかえって“ジャマ”でしょう。VBが本来あるべき姿に戻った、とも言えるかもしれません。CodeまんせーEUC(えんど・ゆーざ・こんぴゅーてぃんぐ)って死語になってしまいました?(wノーツアプリケーションが典型的だったよーな。VBAはEUCにあたるのかなたしかになぜVBなんだ>業務アプリC,C++の敷居が高かったからかな。88Kouji>ソフトウェア史、あるいはシステム開発史的な感覚とか理>解はとにかく必要だと思います。新しい技術の登場には必>然性があるわけで、その必然性を理解するためにも歴史は>学ばないといけませんし、なにやら新しい技術として登場>したものも、別の形でいつか通ってきた道だと言うことも>発見でき、バズワードに惑わされなくなると思います。学習用途にもまた、VBAの存在などもありVBの人口が広いから。C++との隔絶があまりにも^99広いから。裾野が広いということは、人口も多く・・・C#は今後は尖がる方向、VBは円くなる方向のようですので、VBの方向性については生暖かい目で見ることにしています。(w暗黙のインスタンス禁止のオプションをつけたとしても同じことが言えそうです。初期値が「On」なら良いと思うんですけどね。NAL-6295僕もMyは嫌いです。Offも動的バインドが必要な局面では有効ですが、それ以外は害でしかないので、やはり初期値「ON」にしたいですね。嫌いになっていきます。推進せねば、とおもう今日この頃。遥かに良いとは思います。自分は今までのスタイルでやる。いうのであれば、問題ないとは思います。サポートはありがたいですし。問題は、他人のソースの修正ですね。いや、ホントそれだけが心配です。何かを持つ単なるシングルトンクラスですよね。こんなのを「売り」するなんて・・・と思いました、当時。必要なら簡単に自作できるのに。見た目の便利さだけしか触れられてないですからねえ。@ITにもそんな主旨の記事があったような。「安易なグローバル変数反対!」ですね。masa気になったので@ITの記事読み返してみました。「単純な」じゃなかったですね。上の投稿は間違いでした。拒否反応がでて、記憶から消されていたのかも。何かを持つ単なるシングルトンクラスですよね。いうレベルの知識しかないんだったら批判しちゃだめ。批判するためには、批判に対して反応してくるだろう人より詳しくならなきゃ足元すくわれるよって意味(^^ちょっときつかったね。すおにおん初歩的な質問ですがVB2005でフォームにSingletonパターンの実装ってできるのでしょうか?VB2003では2重起動の制御でよく使ってます。重起動を防げるようなオプションがあったと記憶しています。変わってるかもしれませんけど。中博俊Singletonは結局staticのことです。重起動の話は、ちょっとイコールとは言えないですよね?説明が足りなかったようでなので。あるフォームから他のフォームを開く時、同じ画面が2回以上開かないよう制御するためSingletonを実装しました。ShowDialogで開けばいいのですが、ユーザーの要望もあってできませんでした。暗黙のインスタンス化ができちゃうとその辺どうなってしまうのかな?と思ったしだいです。仕事にこんなにも流れ込んでるのは何故?“技術情報共有を目的にした”掲示板に書き込まれる“情報のない”質問の多さを考慮し、考える(-_-;開発者の、開発者としてのレベルが落ちているから。Development"になってきているから。開発者の、開発者としてのレベルが落ちているから。Development"に>なってきているから。道具側(この場合開発環境だったり言語だったり)の視点から見ると低レベルな人でも使えるように進化していく宿命があると思っています。今はその進化の途中なのかなと思っています。昔に比べたらレベルの閾値は、随分下がってきたし。中途であるが故に、使える事に対するセーフティが追いついていないという弊害もあるのですが・・・。パターンが実装できると思います。?シングルトンはフォームに対して実装することがないので、あんまり考えていません。低レベルな人でも使えるように進化していく宿命があると思っています。それは、新しい道具のコマーシャルに必ずと言っていいほどくっついている『簡単に』ということでしょうか?そういう意味での「簡単」であれば、私は反対です。私が反対したところで、そういう流れで進んでいくのですが。開発者の負担が少なくなるという意味では、簡単になって欲しい。「開発者のレベルを下げる」...もとい、低いレベルでも開発作業が行えるようにするというのは、どうなんだろう?開発作業というのは、設計から始まります(いや、要望を引き出すところもあるけど)。その"設計"ができていない、または中途半端な質問が多い。宣伝文句が、"設計"を端折っているだけかもしれませんが、"設計"のレベルは下がっていませんから、結局低レベルな人は使えない、と思うのです。NAL-6295>開発者の負担が少なくなるという意味では、簡単になって欲しい。開発作業というのは、設計から始まります(いや、要望を引き出すところもあるけど)。その"設計"ができていない、または中途半端な質問が多い。宣伝文句が、"設計"を端折っているだけかもしれませんが、"設計"のレベルは下がっていませんから、結局低レベルな人は使えない、と思うのです。その点(設計者のレベルが下がったら困る。)については同意ですし、「簡単に」というだけなら危険なので反対です。実装するために必要な閾値は下がり続けるだろうし(勿論High-Low2分化して)、それが正当な進化なんだろうなとも思っています。」ではなく、「安全に簡単になる。」といった方向に進んで行くと思います。(.NETだって昔に比べたら随分「安全で簡単」ですよね。)だから、実装の部分に関しての既得権益は少なくなっていくんでしょうね。ようなコードが動くのかを見てみました。