タグ

関連タグで絞り込む (277)

タグの絞り込みを解除

oopに関するkiyo_hikoのブックマーク (216)

  • fam.cx

    This domain may be for sale!

  • リスコフの置換原則

    それらは、先人達がオブジェクト指向を研究したり実践したりしていく中で、発見されてきたものです。 どれも、オブジェクト指向を正しく利用するためには非常に重要なことですので、今後順次解説していきます。 今回は、リスコフの置換原則のお話です。 英語で言うと "the Liskov Substitution Principle" ということで、LSP と略されたりします。 コンテンツ 例えれば職能 あなたの羅針盤 実際のはなし 契約 犯罪者 ポリモーフィズムの羅針盤 オススメ リスコフの置換原則…と聞くとまず思うのが、「リスコフ」ってなに?ということだと思います。 はい、「リスコフ」というのはこの原則を提唱した人の名前です。 「そういう名前の人が言い出したんだな」とだけ思っとけば OK です。 そうすると、肝心なのは「置換原則」ってとこだけですね。 じゃあ、何と何を置換するでしょう? はい、スーパ

    kiyo_hiko
    kiyo_hiko 2012/09/26
    5原則の中ではこれの理解が一番曖昧だったが、サブクラスをスーパークラスに置き換えて、その使命を全部果たせないクラスは、抽象化が間違ってるという話 / あとJavaならfinalを必要なところにバンバン使おうという話
  • オブジェクト指向 - アンサイクロペディア

    オブジェクト指向(オブジェクトしこう)とは、アニメやギャルゲー、エロゲーなどについて、仮想的なキャラクターと中の人を別々に取り扱うことで抽象度を上げ、保守性を向上させる手法である。また、オブジェクト指向を扱うように設計されたプログラミング言語を、オブジェクト指向言語と呼ぶ。 基概念[編集] 概要[編集] 多くのオブジェクト指向言語は、中の人をクラスとして定義する。まず「男キャラ」「女キャラ」のようにして中の人を宣言し、「女キャラ」を実体化して「香織」「素子」などを作る(実体化したものをインスタンスと呼ぶ)。実体には、パラメータなどを格納することができる(これをメンバ変数と呼ぶ)。後述するコード例で、「香織」「素子」は、パラメータは異なっているが、中の人は同じである。 実体へのアクセスは、かならず中の人を通しておこなう。これには「会う」「話す」などのメソッド(メンバ関数とも呼ぶ)と呼ばれる

    kiyo_hiko
    kiyo_hiko 2012/09/11
    下手な説明よかわかりやすいかもしんない。だがデレはツンを継承したものというかstateな気もする
  • オブジェクト指向できていますか?

    3. 自己紹介 1992年~1997年 某ゲーム会社 プログラマ SFC,GB,PS1,N64のゲーム開発経験 1998年~現在 日工学院八王子専門学校 @mozmoz1972 専任講師 プログラミング教育を中心に担当 twitterもfacebookも実名です。よかったらフォローしてください。

    オブジェクト指向できていますか?
    kiyo_hiko
    kiyo_hiko 2012/08/29
    STLのmin、maxか。clump自作もよさそうだ 。
  • VBA ¤È Java ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°

    VBA ¤È Java ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥° VBA ¤È Java ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥° ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ FrontPage ºÇ½ª¹¹¿·¡§ donkichi 2015ǯ03·î27Æü(¶â) 19:05:23ÍúÎò Tweet ¤Ï¤¸¤á¤Ë MS-Office ¤Î¥Þ¥¯¥í¸À¸ì¤Ç¤¢¤ë VBA ¤ÈÈÆÍѳ«È¯¸À¸ì Java ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°¤Ë¤Ä¤¤¤Æ¤Î³Ð¤¨½ñ¤­¤Ç¤¹¡£ ¥Ö¥í¥°¤äTwitter¤â¤ä¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢¤´°Õ¸«¡¢¤´´¶ÁÛ¡¢¤Ê¤É¤¢¤ê¤Þ¤·¤¿¤é¥Ö¥í¥°¤Ç¤âTwitter¤Ç¤â¤¤

    VBA ¤È Java ¤Î¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥×¥í¥°¥é¥ß¥ó¥°
    kiyo_hiko
    kiyo_hiko 2012/08/23
    VBAは文法はともかく、組み方が全っ然わからんので参考に
  • 結局OOpが役に立たないのはなぜ?

    1 :デフォルトの名無しさん:2010/04/14(水) 01:14:08 オォオォ言ってる奴等がアホな抱けちゃうの? 2 :デフォルトの名無しさん[sage]:2010/04/14(水) 01:15:41 に小判 豚に真珠 京大霊長類研究所 3 :デフォルトの名無しさん[sage]:2010/04/14(水) 01:18:01 このスレッドは天才チンパンジー「アイちゃん」が 言語訓練のために立てたものです。 アイと研究員とのやり取りに利用するスレッドなので、 関係者以外は書きこまないで下さい。                   京都大学霊長類研究所 4 :デフォルトの名無しさん[sage]:2010/04/14(水) 07:09:52 VIPでやれ 5 :デフォルトの名無しさん[sage]:2010/04/14(水) 08:58:40 OOp <でっていうwww 6 :デフ

    kiyo_hiko
    kiyo_hiko 2012/08/06
    なんだこれ
  • VBAで継承に代わるもの | Code++

    Office 2003 のVBAでXMLからC/C++のヘッダファイルを生成するツールを作っているのですが、Office 2003 のVBAではいまだに VB .NET のようにクラスの継承が使えません(涙) しかし、継承が使えないVBAでも Decorator Pattern を使えばクラスに機能を追加することができます♪ VBAでDecorator Patternを使って実装するとき、こんな感じになるでしょうか… (ハンガリアン記法を使っていないと怒られそうですが 汗) ' SomeObjectクラスの実装 Sub DoSomething() ... ' 何かの処理 End Sub ... ' SomeObjectDecoratorクラスの実装 Implements SomeObject Public Delegate As New SomeObject ' 継承の代わりなので最初に作

    VBAで継承に代わるもの | Code++
    kiyo_hiko
    kiyo_hiko 2012/07/19
    VBAでGoF ごふっ / おれもがんばろう
  • 型、オブジェクト、クラス - マンガで分かる JavaScriptプログラミング講座

    【1Page】 先生:さて この数週間 プログラムの 基について 説明していた 今回がその仕上げとなる 今日の説明が 終われば プログラム脳が 出来上がるぞ 麗:プログラム脳って なんだか嫌だわ 遊:私たち 洗脳されて いたの! 守:僕もちょっと 嫌かも 先生:えー 不評だな…… 【2Page】 先生:さて これまでに 『数値変数』と 『文字列変数』が あると説明した この変数の違いは『型』と言い 『typeof』関数で 調べられる var no = 0; // 『数値変数』を初期化 var str = "文字列"; // 『文字列変数』を初期化 // 『typeof』関数で、変数の『型』を調べる alert(typeof(no)); // 『number』(数)と表示 alert(typeof(str)); // 『string』(文字)と表示 実は この2つ以外にも 変数の『型』は存

  • なぜ日本人はオブジェクト指向をなかなか理解できないのか?:新刊ピックアップ

    JavaJavaScriptPHPなど,現在人気のプログラミング言語のほとんどは「オブジェクト指向言語」という種類の言語です。ですがこのオブジェクト指向,日人には理解しにくいと言われています。その原因は様々ですが,一番の悪者は,日IT教育ではないでしょうか。 変数は「箱」じゃない! 皆さんは,プログラミングの授業で「変数」について,どのように教わりましたか? おそらく,「⁠変数とはデータを代入する“⁠箱⁠”のようなものです」といった説明を受けたと思います。実はこの説明,まったくの大嘘なのです。 この「変数」や「代入」という用語ですが,数学用語からそのまま転用されています。なぜなら,プログラミングでも数学でも,同じ記号を使って数式を書くからです。例えば次の数式は,「⁠xという変数に1を代入する式」または「xという名前のついた箱に1を入れる式」だと教わります。 x    =    1

    なぜ日本人はオブジェクト指向をなかなか理解できないのか?:新刊ピックアップ
    kiyo_hiko
    kiyo_hiko 2012/07/06
    混乱してきた オブジェクト指向ってむずかしい…
  • ITpro - まつもとゆきひろのプログラミング言語論(2)

    リスト4 動的言語の柔軟性<BR>Rubyのライブラリには,IOとStringIOというクラスが存在する。StringIOはIOと継承関係はないが,ほぼIOと同じ名前のメソッドを備えている。このため,ほとんどの場面でIOと同じように利用できる。例えば文中に登場したlog_puts()の引数として,StringIOクラスのオブジェクトも指定できる。 オブジェクト指向とは密接な関係がある 現在では,ほぼすべての動的言語がオブジェクト指向機能を提供しています。もちろん静的言語にオブジェクト指向機能がないわけではないのですが,オブジェクト指向と動的言語にはかなり密接な関係があります。 世界最初のオブジェクト指向言語はSimulaです。Algolの影響を受けた静的型の言語だったのですが,整数などのデータ型を除いたすべてのオブジェクトは「Ref」という一つの型を通じて取り扱われました。どのクラスのオ

    ITpro - まつもとゆきひろのプログラミング言語論(2)
  • ビルドのコマンドとプロパティのマクロ

    Download Visual Studio 2005 Retired documentation from Official Microsoft Download Center Internet Explorer was retired on June 15, 2022IE 11 is no longer accessible. You can reload Internet Explorer sites with IE mode in Microsoft Edge.

  • オブジェクト指向とは何か

    オブジェクト指向とは何か2002-10-03「オブジェクト指向とは何か」この根源的な問いの答えはなかなか難しいものです。ここではその難しく哲学的な問題に真っ向から挑んでみたいと思います。 「オブジェクト指向」という言葉は世の中に広く出回っていますが、「オブジェ クト指向って何?」という質問に的確な答えが返ってくる事は多くはありませ ん。「オブジェクトとは『もの』のことだよ」と言われても、正直言ってさっ ぱりわかりません。そしてそれ以上の事を聞くと「例えばJavaではねぇ……」 と特定のプログラム言語の話になってしまいます。 ここでは、「オブジェクト指向だとどんなメリットがあるか」でも「オブジェ クト指向言語の文法」でもなく、そのものずばり「オブジェクト指向とは何か」 について考えてみたいと思います。 目次オブジェクトとは何かオブジェクト指向とは自律とはオブジェクト指向の通説オブジェクトの意

    kiyo_hiko
    kiyo_hiko 2012/07/03
    読んどく
  • オブジェクト指向再入門/なぜわからなくなってしまうのか?

    いい加減、わけのわからない「たとえ話」はやめよう オブジェクト指向の入門書では、 「謎のたとえ話」から始まるものが多いように思います。 典型的な例は、はじめにでも挙げた、 「哺乳類を継承して犬とを作り、 『鳴く』というメッセージを送ると犬なら『わん』、なら『にゃあ』と鳴く」 って奴でしょう。 他にも、ちょっとWebをぐるぐるすると、清原選手をオブジェクトにしてみたり、 箪笥をオブジェクトにしてみたりなどなど、 およそプログラミングとはかけ離れた説明が蔓延しています。 こんな説明を読んで、なんだかわかったような気分になれる人は、 どっちかというと思考力に欠ける人なんじゃないかと思います。 「わけわからん」という反応のほうが技術屋としては正常でしょう。 いい加減、こういうわけのわからないたとえ話はやめたらどうかと。 あんなもん、わかったつもりの半可通と、 理解できない挫折組を生み出すだけで

    kiyo_hiko
    kiyo_hiko 2012/07/03
    うん Hello WorldですらOOPの基礎を説明可能なのだから、喩え話とか無理に使おうとは思わない
  • Amazon.co.jp: オブジェクト指向入門 第2版: 原則・コンセプト: バートランドメイヤー (著), 酒匂寛 (翻訳): 本

    Amazon.co.jp: オブジェクト指向入門 第2版: 原則・コンセプト: バートランドメイヤー (著), 酒匂寛 (翻訳): 本
  • お前も static にしてやろうか - hd 5.0

    こないだ面白いコラムを見つけた。 高慢と偏見(1)隣は何をする人ぞ - Press Enter■ システム開発を題材とした小説仕立てになってて、それまで様々な工夫で質の高いプログラムを開発してたチームに自称ベテランの「三浦マネージャー」が入ったことで全てが脆くも崩れ去っていく過程を描いたもの。現在好評連載中っぽい。 この話、というかこのマネージャーの言動はみながわけんじ氏の以下のコラムが元ネタになっていると思われる。 実はオブジェクト指向ってしっくりこないんです! - システムエンジニア 生き残りの極意 一応説明しておくと、これはオブジェクト指向のことを何もわかってないとおぼしきみながわ氏が超上から目線で「業務システム開発でオブジェクト指向なんて使えない、全部 static にすれば良い。 new とかしてるのを見ると笑ってしまう。」とかよくわからないことを書いたところ案の定コメント欄が炎

    お前も static にしてやろうか - hd 5.0
    kiyo_hiko
    kiyo_hiko 2012/06/11
    コメ欄に突然怒りだしてる人がいる なぜ
  • ダックタイピングという考え方は間違ってると思いませんか? - http://ja.wikipedia.org/wiki/%E3%83... - Yahoo!知恵袋

    ダックタイピングという考え方は間違ってると思いませんか? http://ja.wikipedia.org/wiki/%E3%83%80%E3%83%83%E3%82%AF%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0 今のオブジェクト指向言語はダックタイピングが当たり前、Javaのinterfaceは古い、 という意見をネット上で見かけたのですが、正しいと思いますでしょうか。 かつてC言語とPerlしか知らなかった私は、Javaのinterfaceを知って衝撃を受け、 そこからポリモーフィズムなどのオブジェクト指向設計を意識するようになりました。 クラス型が違えど同じメソッドを持っていれば同様に処理する、というダックタイピングのメリットは私には理解できません。 異なるクラスで、たまたま名前とパラメータが同じでも、中身の動作が違う

    ダックタイピングという考え方は間違ってると思いませんか? - http://ja.wikipedia.org/wiki/%E3%83... - Yahoo!知恵袋
    kiyo_hiko
    kiyo_hiko 2012/06/06
    どちらも一長一短 規模が大きいほど静的型は安心 / 「現場にはダメエンジニアがごろごろいる、彼らを縛るinterfaceという鎖、この輝きが美しい」 これはわかる インタフェース設計者がしっかりしていれば実に頼もしい
  • 第9回 VBScriptのオブジェクトを使いこなす

    第9回 VBScriptのオブジェクトを使いこなす:基礎解説 演習方式で身につけるチェック式WSH超入門(3/4 ページ)

    第9回 VBScriptのオブジェクトを使いこなす
    kiyo_hiko
    kiyo_hiko 2012/06/05
    VBSでOOP
  • サルでもわかる 逆引きデザインパターン 第2章 逆引きカタログ ロジック編 Factory/Factory Method(ファクトリ/ファクトリメソッド)

    イントロダクション オブジェクトを利用する側からすれば、使用する際にオブジェクトの詳細を意識したくはありませんよね。 たとえば、条件によってデータファイルの読み込みに使うオブジェクトが異なる場合、CSV形式であればCSVDataReaderオブジェクトを、XML形式であればXMLDataReaderオブジェクトを生成します。 通常はif、else、switchなどの条件分岐を使用して、条件ごとに生成するオブジェクトを変更します。 ここで新たなデータファイル形式への対応が必要になった場合は、新しいオブジェクト生成処理と、条件式を追加しなければいけません。 オブジェクトの使用者は、オブジェクトが使用できる状態で受け渡してもらい、オブジェクトは使うことだけに専念したいものです。 また、このようにオブジェクトの生成処理と使用処理が同じコードに書かれていた場合、オブジェクトの生成処理によってオブジェ

    kiyo_hiko
    kiyo_hiko 2012/06/04
    ファクトリーパターンの場合生産物は大工場の1部門が返してくるが、ファクトリーメソッドの場合は工場のサブクラスによって返ると 同じようなインスタンス生成が延々と続くモジュールを保守してるので使いたいのう
  • 関数オブジェクト - Wikipedia

    関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンないしプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)[要出典]。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に領域を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。 関数と変数の名前空間が共通である言語の場合[要追加記述]、構文の設計によっては、y = f(x) といったような、通常のサブルーチン呼び出しと全く同じ構文で、関数オブジェクトが保持しているサブルーチンを呼び出せる言語もある。一方、通常のサブルーチンのように呼び出すことはできず、applyといった特別な名前のメソッドを経由

    kiyo_hiko
    kiyo_hiko 2012/05/29
    「これは、strategy デザインパターンの完全な具現化」
  • Lisp hacks

    Some small programs in Lisp Conduit packages Collecting lists forwards Memoizing functions Applicative iteration HTML generation Abstract classes Singleton classes Maintaining dynamic state Read-time packages Hierachical packages Defaulting optional arguments for generic functions Conduits The `conduits' system tries to generalise the CL package system to allow for more flexible construction of pa