Javaオブジェクト指向プログラミング講座

クラス間の関連について

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
クラス間の関連についてUMLで解説します。
講師:
07:01

字幕

このレッスンでは、クラス間の関連についてUML で解説します。関連は2つのクラス間の意味的関係です。例えば、顧客と連絡先この2つの意味的関係というのはある顧客はその自分の連絡先を持っているという意味が関係するわけです。まあ、2つのクラスなので、2項関連とも言われます。リンクというのは、オブジェクト間の意味的関係つまり、これは一般形式それの具体例ですね。例えば、顧客番号1001 宮本太郎さんの住所は、これこれであるとこの2つの意味的関係があるわけですね。それで、この関連橋を黒の菱型で書くこともあります。これをコンポジションと呼んで強い関連です。所有しているとか、持っているとかそして、このコンポジションにした場合にはコチラだけでは存在できないです。住所だけがあって、顧客がないということは、ないです。まあ、1:1と書いてありますのでそのように1:1ですが。これはコンポジションにしてもしなくでもJava では実装方法は変わりません。これを分析モデルこれは設計モデル設計モデルは英語です。分析モデルは日本語です。設計モデルは言語を意識しているのでJava でするというのなら、ちゃんと、ここに Int と Stirng Java で使える型ですね次に関連の多重度1つのインスタンスをリンクするインスタンスの数これを2項関連で使えます。 1:1、これは1つのインスタンスをリンクするインスタンスは1つ1:多 1つのインスタンスをリンクするインスタンスが複数1つのインスタンスとリンクするインスタンスの数例えば、国と首都1つの国には、首都が1つある1つの首都は必ずどこかの国に属する1:1ですね。例えば、日本、東京ですね。そしてワシントンといえばアメリカですね。1:1です。そして、今度は、国と都市1つの国には都市はいくつもあります。これは、1‥*ですね。点が2つあります。これは1以上を表します。どの国にも都市が複数あるどの都市も必ず1つの国に属しているということを、この図は表しています。ここに*と書いてあると、これは0以上です。国には、言語が複数あります。日本は日本語しかしゃべれませんがどこか、外国に行くと複数の言語が話されている国があります。スイスに行くと、フランス語、ドイツ語が話されています。逆に言語から見ると、どの言語を見ても日本語だと日本ですが例えば、古代の死滅した言語は今、どこの国でも話されてないわけです。これ、1は必ず10‥1は0または1*は0以上1‥*は1以上nでは、2とか3必ず2、または、必ず3ですね。n‥m は、例えば、2以上3以下とか具体的な数字を入れます。 という風に多重度を表すことができます。次に関連の誘導可能性これは設計時に考慮すべきことです。2項関連の1項のインスタンスから他方のインスタンスを参照アクセスする方法ですね。双方向は避ける例えば、顧客と連絡先、これ、どちらからどちらのオブジェクトを使うでしょう。顧客の方から連絡先を見つけるか連絡先から顧客を見つけるか両方があり得ると思いますがどっちが多いか、これはパフォーマンスの問題になってきます。これをオブジェクト図で書くとある顧客からある人の連絡先を見つけるのが多いか、ある連絡先からある顧客を見つけるのが多いかどっちが多いかということです。それによって実装方法も違うわけです。これは設計時に考慮すべきことどちら方向のアクセスが多いだろうか顧客から連絡先か、その場合に、ここに矢印を付けます。これを誘導可能といいます。顧客から連絡先を誘導することができるさらに、連絡先から顧客を誘導できるか誘導できませんという場合ははっきりバツをしておきます。誘導不可です。何も書いていないと未定義ということです。こちらからこちら、できるかもしれないこれはプログラミングするときにはっきり書いておかないとプログラミングする人は、どっちのクラスからどっちのクラスをアクセスできるようにするのだろうということで開発コストがかかるわけですね。 関連のモデルを設定モデルで書いておきましょう。これを後から Java で実装します。まず、Main というクラスですね。Main には、Main Method があります。これは Static です。アンダーラインしています。Kokyaku というクラスですね。これは顧客番号、顧客名をPrint で実装するこちらは、住所、電話番号ですね。この Print は住所と電話番号を出力するという実装だとします。こちらから、こちらに誘導できるとこちらから、こちらに誘導できる逆はできません、というようなことです。これは、後から Java で実装します。こちらは、1:多ですね。*は0以上です。こちらは1:1です。これは誘導可能性、誘導可能性まあ、誘導可能であることを意味しているということですね。このレッスンでは、クラス間の関連についてUML で解説しました。

Javaオブジェクト指向プログラミング講座

このコースではオブジェクト指向プログラミングの3大特徴である「カプセル化」「継承」「多態性」を、UMLモデルとJavaプログラムを対比しながら解説します。「カプセル化」ではコンストラクタや可視性、「継承」ではUML汎化関係とJavaの関係、「多態性」では継承およびインタフェースによるプログラミング方法などを説明します。

3時間23分 (36 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2016年09月27日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。