人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

洗濯機をオブジェクト指向で説明してください。

●質問者: anpan165
●カテゴリ:コンピュータ 生活
✍キーワード:オブジェクト指向 洗濯機
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● irukajp
●54ポイント

http://www.atmarkit.co.jp/fjava/devs/object01/object01.html

@IT:連載:ここから始めるオブジェクト指向 第1回

洗濯機、水、洗剤、洗濯物をオブジェクトととらえます。

洗濯機は、洗濯機構というインターフェイスを持ち、洗濯プロセス、脱水プロセスで洗濯物に接します。さらに洗濯機構は、水・洗剤の投入というファンクションがあります。

水はオブジェクトです。洗剤も、当初はオブジェクトですが、水に溶けることで、オブジェクト性を失い、水のプロパティになります。

洗濯物は、それ自身に加えて、汚れというオブジェクトを持ちます。一粒一粒が独立したオブジェクトです。汚れも、水に混ざることでオブジェクト性を失い、水のプロパティになってしまいます。

動作は、洗濯機オブジェクトが洗濯プロセスを開始し、水オブジェクトに作用し、水流を作ります。それが、汚れオブジェクトを分解または乖離します。その次に、脱水プロセスで水が取り除かれます。洗濯物に作用するだけの水量がなくなると、水はオブジェクト性を失い、洗濯物のプロパティになります。その後は乾燥プロセスを開始するなり、自分で干すなりして、プロパティの水を除去します。

◎質問者からの返答

URLの第3回がないのはなぜでしょう。オブジェクトがプロパティになるのですか。大変参考になります。ありがとうございました。


2 ● Z9M9Z
●10ポイント

http://jp.sun.com/learnabout/java/

$B%5%s!&%^%$%/%m%7%9%F%`%:(B - Java $B%F%/%N%m%8(B

public class 洗濯機 {

public 集合 汚れ物

public 集合 洗濯物

protected int _電気代;

protected int _水道代;

protected int _洗剤代;

洗濯機(){汚れ物=null; 洗濯物=null;}

Boolean 洗濯(){

洗濯物=汚れ物.除去(臭気,浸透物,付着物)

_電気代+=洗濯電力(汚れ物.重量());

_水道代+=洗濯水(汚れ物.重量());

_洗剤代+=一回分;

}

public static void main(String args[]) {

洗濯機 panasonic = new 洗濯機();

panasonic.汚れ物={下着,靴下,...};

if(panasonic.洗濯()) 衣類再利用

else {

衣類購入;

洗濯機 toshiba = new 洗濯機();

}

}

}

…(苦笑)

◎質問者からの返答

JAVA系だとこんな感じになるのですね。洗濯物=汚れ物.除去(臭気,浸透物,付着物)だったのですか。ありがとうございました。


3 ● peugeot
●3ポイント

http://64.233.187.104/search?q=cache:EwKVU1L58AIJ:www.geocit...

洗濯機という概念がクラスです。具体的な洗濯機の商品がオブジェクトになります。

洗濯機クラスには「洗濯する」という操作があります。

属性として「容量」があります。

洗濯機を改良して脱水機能を追加すること、これを派生といいます。派生した脱水機能付き洗濯機には「脱水する」という操作が追加されます。

それでは洗濯機は何から派生しているかというとやはり「家電」ではないでしょうか?

家電クラスは「プラグ」という

インターフェイスを持ち「コンセント」クラスから電力を供給することができます。

◎質問者からの返答

このようなページがあったのですか。ありがとうございます。


4 ● dev_zer0
●10ポイント

http://wisdom.sakura.ne.jp/solution/uml/usecase/uml2_2.html

アクター

上の人達は実装方法に言及しているので、私はオブジェクト指向の設計方法に言及してみました。

○ 洗濯システム

大 --→洗濯機

まず、おおまかなユースケースで記述してみます。

ここでは洗濯人アクターを洗濯システムで洗濯することを表現しています。

http://www.ogis-ri.co.jp/otc/hiroba/technical/DDJ/index.html

UMLとオブジェクト指向分析・設計が開発リスクを軽減する -INDEX-

次にアクターと洗濯機システムのインターフェースを設計します。

が、規模とお金の関係でさまざまな実装方式が考えられます。

例えば洗濯機の実装方式としては

・たらいと洗濯板

・2層式洗濯機

・全自動洗濯機

・乾燥機付全自動洗濯機

これらは上位になるほど実装が容易で安く済みますが、

下位になるほど実装が難しく価格が高い傾向となります。

これらの案を洗い出し、顧客と相談し、適切な実装方式を提供します。

(要件を聞くと、ホントにたらいと洗濯機でもよい状況があります。)

なお、便利になり洗濯物が増加した場合の超過処理、

洗濯機システムが壊れたときの復旧手順、代替手段など、

オブジェクト指向でも運用についての課題は解決しません。

◎質問者からの返答

なるほど、初期にしか役に立たないのですね。


5 ● shampoohat
●3ポイント

http://www.geocities.jp/objectbrain/donotneedobjectbrain.html

「オブ脳なんていらない」

【インタフェースについて書きましょう】

洗濯機という言葉がさすものは、抽象クラス(というか、Javaなんかだとインタフェース)です。最低限の操作として、

・衣類をいれる

・洗濯する

・衣類をとりだす

という操作を持ちます。家電各社の洗濯機の機種は、このインタフェースを継承(というか、インプリメント)しています。

これにより、僕らは、5年前に買った「銀河」でも、昨日買い換えた「白い約束」でも、目の前のオブジェクトが洗濯機であれば、操作する側を改造することなく、共通の操作で使うことが出来ます。

◎質問者からの返答

共通の操作ですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ