タグ

オブジェクト指向に関するipusironのブックマーク (10)

  • 実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ

    わたしはこれまで、C言語、Visual Basic、SAP ABAP、最近になって ASP.NET C# などの言語を使ってきた。 「自分でクラスを作ってオブジェクト指向っぽいことをしている」なんてことはまったくない。特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。共有変数も、pubulic static宣言していまう。したがってプロパティなんて作らない。 staticを理解していない人のコードを見ると、いちいちインスタンス宣言しているので笑ってしまう。データベースにアクセスするアプリケーションをC#で書いているのだが、Visual Studioで供給しているSQL関係のクラスを使えばできてしまうのだから。 オブジェクト指向の入門書では、クラスが持つ隠ぺい性が強調されているが、これは他

    実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
  • Yohta's Object World ~YOHTAのオブジェクト指向研究 デザインパターン・UML などなど~

    Yohta's Object World Study of Design Pattern Mastering Unified Modeling Language. Study of Design Pattern デザインパターンの骸骨たち (RE-BONE ) with C デザインパターンにC言語版を追加! (2009.2.28) デザインパターンの塗り薬 Sample Application for GOF's Design Pattern COMMANDを追加!(2004.5.29) jjtree(JavaCC)で、Visitorパターンをマスター 第八回修正 (2011.12.29) Special Issue C++ビギナーに捧ぐ EffectiveC++入門 フレッシュマン特集(2005.03.16) AMIGO FOR Win32 (Win32プログラミングのお助けクラス達)

  • 矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)

    今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoFでは、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連

    矢沢久雄の早わかりGoFデザインパターン(1) | 日経 xTECH(クロステック)
  • 継承とコンポジット - 都元ダイスケ IT-PRESS

    id:happy_ryoに「わかんねーんだよ、説明してみろゴルァ」されたので、書いてみる。 前書き*1 とりあえず、日のエントリのキモを最初に。「オブジェクト指向は、隠す技術である」(俺談w)ということを意識して読んで見てください。隠すとは何か? 公開しすぎない事。分かりやすく言えば、publicをprivateに変える事。これが「隠す」。 んじゃあ、隠すと何が良いのか。あるクラスから、見えるもの(=操作できる可能性の範囲(scope))が狭ければ狭いほど出来る事のバリエーションが減るから、プログラムは単純になる。つまり、隠すと複雑性(complexity)が下がる*2。 要件を満たした上で、いかに型(class, interface, etc.)やメンバ(field, method)の可視性を落とすか。可能な限り可視性を下げ、プログラムを単純化し、メンテナンス性を上げるにはどうしたらい

    継承とコンポジット - 都元ダイスケ IT-PRESS
  • JavaではじめるUML ( 第 2 回 ) | オブジェクトの広場

    前回から始まった連載、今回からいよいよ Java のソースコードと対比しながら、 UML の各ダイアグラムについて解説していきたいと思います。今回は、 UML の中でも最も使用される「クラス図」と「パッケージ図」についてとりあげます。「クラス図」と「パッケージ図」はシステムの論理的な ( 静的な ) 構造を表すダイアグラムです。 記事で使用しているソースコード(スケジューラ)の完全版がダウンロードできます。ご活用ください。 scheduler-20020628.zip 1. ケース・スタディのおさらい まず最初に、前回提示したケース・スタディを簡単におさらいしておきたいと思います。 ある中堅ソフトウェア会社に勤める Chen 君は、リーダーの Jun 先輩から、チームで使用しているスケジューラのドキュメント作成と機能追加を依頼されました。これは、転勤してしまった Mika さんが、以前

  • オブジェクトの複写(シャロウコピーとディープコピー)

    Javaのオブジェクトはcloneメソッドでオブジェクトの複製を作ることができ ます。 cloneメソッドによるオブジェクトの複製はオブジェクト変数をそのままコピー することで行われます。 intやdoubleなどの組込み型は値として格納されているので、完全にコピーさ れるのですが、オブジェクト変数は参照がコピーされるため、複製元と複製先 のオブジェクト間で、共通のオブジェクトを参照することになります。 このような複写の方法をシャローコピー(shallow copy)と呼びます。 つまりJavaのオブジェクトのcloneメソッドのデフォルトのセマンティクスは シャローコピーというわけです。 たとえば以下のPersonオブジェクトに対してcloneを行うとシャローコピーが 行われ、クローン元のPersonオブジェクトとクローン先のPersonオブジェクト 間でStringオブジェクトが共有さ

  • Life with Cygwin

    沖ソフトウェア株式会社は、沖通信システム株式会社および株式会社沖インフォテックと平成22年10月1日をもって合併いたしました。新会社名は、株式会社OKIソフトウェアとなります。3社が行っております事業は新会社にて従来通り継続いたします。

  • VB.NETとC#でデザインパターン

    このページでは、 Java言語で学ぶデザインパターン入門 結城 浩(著) (ソフトバンクパブリッシング ISBN:4797316462)に掲載されているサンプルソースを個人的にVB.NET/C#に移植したものを、 結城氏の了解を得て公開しています。

  • @IT:連載 オーバーライド

    オーバーライド・メソッドを記述する場合には、いくつか決まり事があります。第1に、オーバーライド・メソッドには、それを示すためにoverride(VB.NETの場合にはOverrides)を付けてメソッドを宣言します。 第2に、オーバーライド・メソッドは基クラスのオーバーライドされるメソッドと同じパラメータを持ち、戻り値も同じ型で、メソッドのアクセス修飾子も同じでなければなりません(これらはメソッドの「シグネチャ」と呼ばれます)。 リファレンス・マニュアルでFormクラスを調べると、OnClickメソッドのシグネチャを知ることができます。これは次のようになっています。 第3に、オーバーライドされるメソッドは、メソッドの宣言部分にvirtual(VB.NETではOverridable)が付いていなければなりません。OnClickメソッドはこの条件を満たしています。virtualが付いたこのよ

    @IT:連載 オーバーライド
  • VisualBasic.NET(VB.NET)でオブジェクト指向プログラミング

    This domain may be for sale!

  • 1