ビデオ: Java教材 Java Webアプリ開発基礎講座 第3章 サーバサイド技術【動学.tv】 2024
iOSのオブジェクト指向設計は、オブジェクトがオブジェクトに関連付けられているプログラムを設計する異なる方法です。説明するために、紅茶とスープの作り方を検討することを検討してください。しかし、即座に代わりに活動に飛び込んではいけません。探偵が犯罪現場に入るように行動してください。戻って、ドメイン(キッチン)を調査し、その中に何が入っているのかを理解しよう。言い換えれば、 オブジェクト は最初に と考えてください。
<! - 1 - >-
釜があります。 あなたはしばらくの間、湯沸かし器を考えて、「私はそれに水を加えることができます。私はそれから水を注ぐことができます。 "
-
あなたはティーポットを見ます。 振り返ってみると、「私は水に水を加え、水を注ぐこともできます。 "
釜とティーポットは水を取り入れて注ぎ出すことができるようです。彼らはどちらも状態(水が保持されている)を持っています。したがって、これらのオブジェクトのそれぞれが血管であることを一般化します。また、これらのオブジェクトの特性、つまりボリューム、色、マテリアルなどの属性についても考えます。
<!キッチンには、ストーブ、蛇口、カップとボウル、各種スプーン、食べ物などのアイテムがあります:スープ、紅茶、ブイヨン、キッチン時計さえ。あなたは彼らの能力についても考えます。あなたは、オブジェクトの種類を血管などのより高いレベルの概念に一般化しようとします。レシピを一連のアクションとしてのみ考えるのではなく、レシピもオブジェクトであることに気づきます。結局、レシピを作成し、レシピを破り、レシピを共有することができます。レシピは確かに具体的なものです。したがって、それはオブジェクト、機能を持つオブジェクトです。レシピに従うと、レシピを実行していると想像することができます。
<! - 3 - >
したがって、レシピの機能を実行 します。レシピオブジェクトの 設定と クリーンアップ も行います。レシピには属性がありますか?著者(999文字列 )はどうですか?または、それが何人の人々にサービスされているか(999の整数 )?最後に、 お茶を作る と スープを作る は、一般的な レシピの特殊化であるという一般化階層を明確に示しています。 以下の表は、さまざまな種類のオブジェクト、その機能、属性、およびそれらの一般化をリストしています。 オブジェクトの種類 能力 属性
一般化
船舶 | 液体を加える;液体を注ぎ出す | 容積、色、材料 | ティーポット |
---|---|---|---|
船舶の能力(つまり、追加と注ぎ込み) | 船舶 | 船舶 | |
Tureen | 船舶のすべての能力 | 船舶の属性 | 船舶 |
船舶 | 船舶のすべての能力。沸騰 | 船舶の属性 | 船舶 |
杯 | 船舶のすべての能力。飲み物 | 船舶 | 船舶の属性。あなたは |
ボウル | から飲むことができます。スプーンで食べる | 船舶 | 船の属性。スプーンを使って液体を消費することができます。 |
ストーブ | 容器を置く。オンにする;消す;セットレベル | 色 | 蛇口 |
開く;閉じる | 紅茶 | 紅茶 | |
紅茶 | 種類 | 食品 | |
ブイヨン | スープ | フレーバー | 食品 |
時計 | 待機 | レシピ | 設定します。実行する。クリーンアップ |
難易度;クリエイター;提供された人数 | 製茶 | ||
レシピの責任 | レシピの属性;カップ数 | レシピ | |
スープ作り | レシピの責任 | レシピの属性;ボウルの数 | レシピ |
のようなエントリは、容器の容器のすべての機能 | を意味します。つまり、それは容器であるため、液体が追加され、 。加えて、カップはドリンクからの能力を持っています。言い換えれば、普通の船でできるよりも、カップでもっと多くのことをすることができます。 | OOの用語で言えば、船舶は一般化されたものであり、一方、杯は船舶の特殊化されたものです。 |
オブジェクト指向のMakeTea Recipe @interface TeaRecipe:Recipe // Make Teaはレシピの一種です@implementation TeaRecipe + Setup; {…} //レシピを設定+実行:(int)NumberOfCups; {//これはインスタンスメソッドNSArray * TeaCupsです。 //カップの配列を宣言する[Faucet Open] [Kettle AddLiquid:(NumberOfCups * CUPVOLUME)]; [Stove PutVesselOn:ケトル]; [Stove TurnOn];茶の量:@ "1スプーン"];}(![ケトル・イボイル]); //水が沸騰するまでループを維持する[Kettle PourWaterFrom:Teapot]; [時計待ち:@ "5分"]; For(i = 1; i <= numberOfCups; i ++)[Kettle Pour:[TeaCups objectAtIndex:i]]; NSLog( "Enjoy Tea");} // MakeTea + Cleanupを終了します。 {…} //レシピの後にクリーンアップする-d このプログラムを使って2つの紅茶を作る:
<! - 1 - >