‫お帰りなさい｡
‫このビデオでは､ has a relationshipについてお話します｡ これまで相続で見てきたのは､ is a relationshipだからです｡
‫そこで､ 例えばここでは､ 前回のビデオで出てきたシールズを消すことにします｡
‫では､ 車とBMWのどちらが良いセットなのか？
‫BMWは車です｡
‫つまり､ BMWとクルマの関係なんですね｡
‫アウディも同じですか？
‫Audiは車､ MX3はBMWです｡
‫これが継承の大まかな考え方ですね｡
‫しかし､ アン・ハズ・ア・リレーションズというものもある｡
‫そこで､ 一般的にあるすべての車に対して､ 自分の車の情報を追加で設定したいとします｡
‫そこでできることは､ 追加のクラスを作成することです｡ このクラスをcar infoと呼ぶことにします｡
‫あるいは､ car ID infoも作成しましょう｡
‫そこで､ 1台1台の車を識別するために､ 新しいクラスを作り､ それを1台ID infoと呼ぶことにしましょう｡
‫このクラスには継承や関係があり､ BMWには車のID情報があり､ 車には車のID情報があります｡
‫そこで､ ここでは､ いくつかのプロパティを用意したいと思います｡
‫例えば､ ID numという整数があります｡
‫つまり､ これはゼロで初期化され､ それ以外はただのIDになります｡ これは数字ではなく､
‫ユニークな識別子です｡
‫だから､ 結構どのクルマにもこの番号があって､ ユニークなんですよ｡
‫つまり､ 1号車は0というIDを持ち､ 2号車は1という考えを持つというように｡
‫そしてまた､ すべての車にはオーナーがいるはずです｡
‫そこで､ public string ownerと､ 実はpropertyも使ってみようと思います｡
‫つまり､ propの文字列のownerとここでもgetとsetを行い､ ownerを持たない場合はno ownerとするのが標準的な記述になるはずです｡
‫では､ 生産されたばかりの車としましょう｡
‫もちろん､ この車の所有者は､ その車を生産した会社､ たとえばBMWやアウディ､
‫その他の自動車生産会社であり､ それ以外は所有者がいると主張することもできます｡
‫だからその場合､ オーナーはいないけど､ それ以外はオーナーがいるとしよう｡
‫この車のID情報は､ 車クラスでインスタンスを作成し､ 他のドライビングクラスでも使用することができるのです｡
‫では､ そのようにしましょう｡
‫この中にhas a relationshipを作りましょう｡ has a relationshipは､ 車が保護された車のID情報を持っていることを意味し､
‫その1台の車のID情報を新しい車のID情報と呼ぶことにします｡
‫そして今､ 私の車では､ InfoQは単に物事を設定することができるので､ 私たちは先に進み､ ここにセッターを作ったり､ そのような種類のものをすべて作成することができます｡
‫というのも､ プロパティを持つことの利点は､ 実際にここにあるプロパティにアクセスできることなので､
‫set car ID infoというメソッドを作成できます｡
‫これは単純に車のIDを設定するもので､ 1つはこのドットID番号2つはID番号です｡
‫そして今､ このIDネームはどこから来たのか､ この2つ目が気になりますよね｡
‫まあ､ 設定するときはいつでも配信するつもりでいる整数なんですけどね｡
‫つまり､ ここはプロパティになるわけです｡
‫そして､ もうひとつ必要なのが､ オーナーです｡
‫だから､ ストリングスオーナー｡
‫だから､ 車のID情報を設定するときは､ この2つの情報とこの情報を用意したい｡
‫そして､ この中に車のID情報が入ることになります｡
‫所有者がなるのですが､ ここでは実はできれば大文字で書かないでください｡
‫このように､ オーナーを設定することで､ set car ID infoメソッドを使用するたびに車のオーナーになることができます｡
‫それでは､ 新しいメソッド public void, get car ID info を作成して､ 車のID情報も取得してみましょう｡
‫このメソッドは､ 単にコンソールに何かを書き込むだけです｡
‫車のIDは､ ここではゼロで､ 所有者は､ ここでは1で､ というようなものです｡
‫そこで､ ここでは車ID情報ドットID番号と車ID情報ドットオーナーとします｡
‫それで何ができるかというと､ 車1台でも､ BMWでもアウディ3でも何でも､ 持っている車すべてのカード情報を調整することができるんです｡
‫なぜなら､ このクラスは今､ ここに関係を持っているからです｡
‫そこで､ 単純にプログラムクラスへ進み､ ここに情報を追加します｡
‫では､ BMWに情報を追加するとして､ あれ､ これって3つだっけ？
‫では､ ここでそれをやってみましょう｡
‫BMW Z 3は､ 車のID情報を取得して､ これは1､ 2､ 3､ 4という考え方で､
‫オーナーはユタにデニスということにしましょう｡
‫そして今､ アウディa3があり､ これは1､ 2､ 3､ 5のカーID情報を取得し､ オーナーはフランク・ホワイトになる予定です｡
‫そして､ これらのIDを取得し､ BMWの車のID情報を取得し､ さらにアウディ3社の車のID情報を取得することができるようになりました｡
‫そのため､ このコードを呼び出したり､ 実行したりすると､ 私たちのクルマで追加情報が利用できることがわかります｡
‫つまり､ 単純にオブジェクトに情報を追加する方法ですね｡
‫車には1､ 2､ 3､ 4というアイデアがあり､ デニス・パネッタの所有で､ 車には1､
‫2､ 3､ 5というIDがあり､ フランク・ホワイトの所有であることがわかりますね｡
‫わかりました｡
‫そのため､ 一般的にはそのような方法で情報を追加して行くことになります｡
‫それが､ 私たちのクルマのアグリゲーターになるわけです｡
‫そして､ それは......物事に取り組む関係性を持っているのです｡
‫素晴らしい｡
‫ということで､ 人間関係については大体こんなところでしょうか｡
‫それでは､ 次のビデオでお会いしましょう｡