• ベストアンサー

オブジェクト指向について教えてください

麻野 なぎ(@AsanoNagi)の回答

回答No.3

自動販売機の例 登場人物 ・お金を数える装置 ・自動販売機でもっているお金を管理する装置 ・品物を選ぶ装置 ・品物を出す装置 ・おつりを出す装置 スタート お金 → お金を数える装置 → 投入されたお金を覚えておく 品物を選ぶボタン → 品物を選ぶ装置 → 要求されている品物確認する 【お金を数える装置】 ・投入金額教えてと言われたら、投入金額を答える。 ・お金精算 と言われたら、投入されたお金を、お金を管理する装置に「入金」と言って渡す。 【お金を管理する装置】 ・おつりxx円払える? と聞かれたら、手持ちのお金(と硬貨の種類)で、YES NO を答える。 ・入金(xx円)と言われたら、その金額を受け取って、手持ちのお金を増やしておく。 ・出金(xx円)と言われたら、その金額を渡して、手持ちのお金を減らしておく 【品物を選ぶ装置】 ・品物が選ばれたら、その品物の代金を調べる。  その後、「お金を数える装置」に、「投入金額教えて」と尋ねて、購入可能かどうか判断  さらに、「品物を出す装置」に、「在庫があるかどうか」確認して、購入可能かどうか判断  購入可能なら以下の処理、購入不可なら、なにもしない   品物を出す装置に、「品物出して」と言う。   お金を数える装置に「お金精算」と言う。   おつりを計算して、「おつりを出す装置」におつり出してと言う 【品物を出す装置】 ・在庫があるか? と言われたら、在庫を調べて、 YES NO を答える。 ・品物出してと言われたら、品物を一個出す。在庫数量を一個減らしておく 【おつりを出す装置】 ・おつり出してと言われたら、お金を管理する装置に、出金と言う  その後受け取った、お金をおつりとして出す。 こういう感じで、それぞれの行動様式を決めてしまえば、全体でうまく動くだろうという考え方です。

関連するQ&A

  • オブジェクト指向のプログラム??

    「オブジェクト指向のプログラム」という言葉を プログラミングの話をしているときに聞きますが よくわかりません。 どなたか素人でもわかるように教えて下さい。

  • オブジェクト指向ではない指向は、何指向と言う?

    プログラミングでオブジェクト指向ではない指向は、何指向と言うのですか?

  • オブジェクト指向について

    C#でプログラミングをしているのですが、オブジェクト指向を一切使わずに作っています。 作っていくにしたがってツールが重くなってきたのですが、オブジェクト指向を使ってい書いたほうがアプリケーションは軽くなりますか?

  • オブジェクト指向について

    オブジェクト指向に対応したプログラミングはいっぱいあるけどオブジェクト指向の考え方を考えた人はだれなのですか?!

    • ベストアンサー
    • Java
  • 【オブジェクト指向について】

    【オブジェクト指向について】 こんにちは。初めて質問をさせていただきます。 さて、ただいまVBを勉強中なのですが、オブジェクト指向のところで躓いてしまいました。 質問したい事は以下の点です。 (1) オブジェクト指向の理解について   オブジェクト指向とは、プログラミングをするときに変数や機能などをクラスというものに格納しておくことで、プログラミングを円滑にすすめるための概念であると理解していますが、この理解は正しいのでしょうか? ご回答お待ちしております。よろしくお願いいたします。

  • オブジェクト指向とは

    オブジェクト指向の本をたくさん読んでみましたが 全部書いてあることが難しくていまいちピンときません。 要は簡単にいうと、クラスを作ってその中にメソッドを 作ってロジックの中でその中のクラスを使い分けていく という考え方がオブジェクト指向というのでしょうか? 簡単でいいのでわかりやすくオブジェクト指向というのを教えていただけないでしょうか?友人に聞くとオブジェクト指向を説明すると2時間はかかると言われてしまいました。

    • ベストアンサー
    • Java
  • オブジェクト指向、理解しやすい?

     最近、Javaの解説書や解説サイトを見ていて、しばしば、「Javaは完全なオブジェクト指向だから理解しやすい」といった記述を見かけます。(「プログラムが見やすくなる」とかではなく)  Javaに限った話ではないのですが、個人的に、オブジェクト指向の概念は、プログラミング初心者の最大の関門ではないかと勝手に思っています。僕はPHPから入ったのですが、ある程度基本事項をマスターした後も、オブジェクト指向だけは長い間苦手としてきました。(最近やっと慣れてきたところです。)  そこで伺いたいのですが、最初にやったプログラミング言語がオブジェクト指向だったという方、オブジェクト指向の概念は、 1.わかりやすかった 2.そこでつまずいた 3.特に意識せずに通り過ぎた 4.その他 いずれでしょうか? ※最初にJavaについて書きましたが、これはただの例なので、オブジェクト指向言語全般についての質問であるととらえてください。

  • オブジェクト指向の教え方

    新入社員にJavaを教えているところなのですが、オブジェクト指向プログラミングをどのように教えていいか困っています。 全員がC言語研修を受講済みで、さらにJava言語も、継承やオーバーロード、例外まで一通り教えて、一応理解しています。 そこで、次のレベルとして、C言語風のプログラミング(「プログラム=関数の集まり」の考え方)から、オブジェクト指向(「プログラム=オブジェクトの集まり」の考え方)に意識改革させたいところです。 問題領域をオブジェクトの集まりとしてとらえ、そこからクラスを抽出していく、という説明がよくありますが、 「何をオブジェクトにするのか」「どのようにクラスを抽出したらいいのか」の部分を詳しく教えたいのですが、どのように説明したらいいでしょうか。また、参考になるWebサイトなどありませんでしょうか? 自分が普段作るときは、ほぼ「勘」でクラス設計していますので、それでは教えられなくて困っています。よろしくお願いします。

    • ベストアンサー
    • Java
  • オブジェクト指向

    Javaプログラミングを少し勉強し始めました。 そこで、オブジェクト指向という言葉が出てきました。 オブジェクトを作る利点というか意味はどのようなところにあるのでしょうか? 比較的簡単なプログラムなら、変数とメソッドで表示できると思うのですが・・。 ・コードが読みやすくなる ・実行速度が速くなる などの利点があるのでしょうか? なるべく分かりやすく解説してもらえればと思います。

    • ベストアンサー
    • Java
  • オブジェクト指向プログラミングについて

    VisualBasicを対象にしたオブジェクト指向プログラミングに関する参考書、Webサイトなどはないでしょうか。 現在、クラスモジュールなどを多用しオブジェクト指向プログラミングを実践しているつもりですが、あまり勉強したわけではないのでいまいちよくわからないです。 (オブジェクト指向プログラミングのメリットとデメリットなど)