‫リンクデモ2回目､ おかえりなさい｡
‫このデモでは､ 後で必要になるものをたくさん用意します｡
‫まず最初に､ 2つのクラスを追加で作成し､ その2つのクラスを処理する3番目のクラスを作成します｡
‫これから作成する2つのクラスは､ それらのクラスのオブジェクトを作成するために使用されるべきもので､
‫大学と学生を使用しているわけです｡
‫では､ ここに新しいクラスを作りましょう｡
‫そうそう､ 右側でクラスを作成した方がいいのは分かっているんです｡
‫まあ､ クラスごとに特定のファイルを作るべきですが､ ここではこのプログラム内の同じファイル､
‫CSSファイルに作成することにします､ その方が分かりやすいので｡
‫しかし､ そうでない場合は､ 常にこのように行ってください｡
‫新規作成､ クラス作成と進んでいくはずです｡
‫よし､ ではクラスを追加して､ こちらは大学にしよう｡
‫だから､ どの大学も一定の情報を持っている｡
‫では､ 大学は何を持てばいいのか｡
‫では､ まずIDから｡
‫つまり､ IDがあり､ これはgetとsetのプロパティで､ 非常に基本的なプロパティだと言うことです｡
‫次に､ 別のプロパティを作成し､ 今回はこのように､ nameという文字列の時間にします｡
‫だから､ どの大学にもIDと名前がついていて､ あまり派手なものはないんです｡
‫そうだろ？
‫そして､ ここでやらなければならないことは､ ただ何かを印刷することだけです｡
‫ここではprintと呼ばれるメソッドを作成し､ 詳細をプリントアウトすることにします｡
‫IDが1の大学〇〇みたいな書き方をして､ 〇〇が名前､ 1がIDになるだけです｡
‫さて､ これで大学の授業は終了です｡
‫そして今度は､ 学生用のクラスを作りましょう｡
‫だからクラスの生徒｡
‫どの大学にも学生がいるわけですよね｡
‫そして､ 生徒のIDも用意し､ IDの取得と設定､ そして名前という文字列を設定します｡
‫そこで､ すべての生徒が名前をカットして設定し､ 実際にプロップダブルタップ文字列でやってみましょう､ すべての生徒が性別を持っています｡
‫そして､ 最後にもう一つプロパティを追加します｡
‫だから､ プロップと今回は年齢を重ねることになる｡
‫だから､ どの生徒も年齢が決まっているんです｡
‫そして､ ここで一つ重要なことがあります｡ すべての学生は外部キーを持っています｡ なぜなら､ もし大学にいなければ､
‫彼は学生ではありません｡
‫では､ そう仮定してみましょう｡
‫だから､ 外部キーが必要なのです｡
‫外部キーは､ 私たちの公開 int 大学 ID になります｡
‫つまり､ 学生は特定の大学のIDに所属しているわけです｡
‫わかりました｡
‫そして､ 最終的にはコンソールに何かを表示するだけです｡
‫public void printで､ こんな感じでプリントされるわけです｡
‫CW ID1で学生ゼロ､
‫ID4で大学から性別2､ 年齢3の人をダブルタップする｡
‫そして今､ もちろんそれらのプロパティをすべて使用する必要があります｡
‫つまり､ 名前ID､ 性別､ 年齢､ 大学IDになるんですね｡
‫そして､ ちょっと長いので､ このまま2行目に載せます｡
‫つまり､ これは学生クラスのプリント文になるわけです｡
‫さて､ リンクウェイで学生や大学を管理するために､ 別のクラスを作成することにします｡
‫そして､ この追加クラスは､ 私たちの大学のマネージャーとなる予定です｡
‫だから､ 大学を扱う､ 大学にメンバーを追加する､ だから大学に学生を追加する｡
‫そうすると､ 男子学生ばかり､ 女子学生ばかり､ そういうのが出てくるんです｡
‫そこで､ そのための新しいクラスを作成し､ クラスUniと呼ぶことにします｡
‫我らがシティマネージャー｡
‫そして､ ここで私が欲しいのは､ リストです｡
‫まず､ 大学のリストがあるので､ 大学の種類から､ その大学を呼び出します｡
‫そしてもうひとつ､ studentという公開リストがあり､ これは学生を対象としたものです｡
‫だから､ このリストには学生､ このリストには大学がいっぱいあるんです｡
‫そして､ コンストラクタで､ これら2つのリストを初期化し､ 値を追加していきます｡
‫では､ そんな感じでコンストラクタのパブリックユニバーシティマネージャを作成していきましょう｡
‫さて､ これがコンストラクタですね？
‫コンストラクタです｡
‫そして､ この中で､ 私の大学を初期化したいと思います｡
‫だから､ 大学や私の学生という新しいリストになるのです｡
‫そして今度は､ それらに値を追加していきます｡
‫それに､ すべてを手入力するつもりもない｡
‫用意したリストからコピー＆ペーストするだけです｡
‫そこで､ 2つの大学があるとします｡
‫ひとつはエール大学､ もうひとつは北京工科大学です｡
‫そして､ カルラという女性の生徒もいます｡
‫彼女は17歳です｡
‫それから､ トニ､ 彼は男性で21歳です｡
‫その2人はイェール大学､ そしてもう1つの大学です｡
‫北京工大では､ 女性であるライラ､ そしてトランスジェンダーのジェームズ､ さらに女性のリンダがいるわけです｡
‫わかりました｡
‫だから､ ここには3種類の性別の人がいる｡
‫わかりました｡
‫というわけで､ ここまでが大学マネージャーのコンストラクタです｡
‫このビデオではまだリンクを使っていないので､ 実際にリンク処理を行うメソッドを追加していきます｡
‫では､ そのようにしましょう｡
‫創ろう｡
‫男子学生ばかりになる方法｡
‫では､ それを作ってみましょう｡
‫ここでは､ 生徒のリストとして列挙可能なものを使用し､ これを男性生徒と呼ぶことにします｡
‫そして今度は､ 前回のビデオで行ったのと同じものを使います｡
‫そこで､ 学生の性別が男性である学生から､ 最後に学生を選択します｡
‫わかりました｡
‫そうやって､ このリストを作っていくわけです｡
‫前回の動画でもご紹介しました｡
‫具体的なリストをチェックするのです｡
‫この場合､ 今までは上げ幅で見ていたので､ 実はリストなんです｡
‫でも､ それはリストでもできるんです｡
‫だから､ とてもクールなんです｡
‫ご覧のように､ コレクション､ 汎用リスト､ そしてここでもこのリンクのアプローチで行うことができます｡
‫では､ それをコンソールに出力してみましょう｡
‫ほら､ Wは男子学生になりそうだし､ 最後は全学生を出そう｡
‫ここで各生徒に対してfor eachループを使用することにします｡
‫では､ 次にstudent dot printメソッドを呼び出してみましょう｡
‫さて､ それではこのメソッドを使ってみましょう｡ ここまでは準備とタイプコード､ タイプコードだけでしたが､
‫いよいよコードを実行して何が起こっているのかを見てみましょう｡
‫では､ さっそく大学マネージャーオブジェクトを作成してみましょう｡
‫呼び出して､ えーと､ そのまま初期化しちゃおう､ みたいな大学マネージャーです｡
‫あとは､ あの､ ドット男子学生を使うのもありですね｡
‫このメソッドと､ 最後にコンソールに書き込んでみましょう｡
‫そのため､ コンソール・ドット・リード・キーは､ プログラムがそのままシャットダウンしないようにするためのものです｡
‫よし､ では実行してみよう｡
‫また､ 男子学生のトニは､ 21歳の大学生で､ 性別は1つ､ IDは1つというアイデアを持っています｡
‫よし､ じゃあ調べてみようか｡
‫ここでは男子生徒が1人なので､ 2人になれるかどうか確認するために､ 男子生徒をコピー＆ペーストしてみましょう｡
‫だから､ これは率直な感想になる｡
‫そして､ フランクは男性ですが､ 22歳で､ 同じく2番目の大学にいます｡
‫だから､ みんなそれらしく北京大学にいるんです｡
‫では､ もう一度コードを実行してみましょう｡
‫そして､ 私たちは両方の列を見ることができるので､ フランクとトニーを見ることができます｡
‫フランクはユニバーシティ1出身で､ トニーは？
‫実は､ トニーが1､ フランクが2の出身なんです｡
‫わかりました｡
‫これで､ この方法がうまくいったことがお分かりいただけたと思います｡
‫では､ 同じことをするメソッドを作ってきてください｡
‫しかし､ 女性にとっては
‫そこで､ 各大学の女子学生をすべてプリントアウトすることにしたんです｡
‫わかりました｡
‫ぜひ試してみてください｡
‫ということで､ 今回は打ち込みます｡
‫パブリックボイド｡
‫Female Student そして､ student型のI enumerableがまた必要です｡
‫つまり､ 女子学生のリストになるわけです｡
‫そして､ 学生のみんなから確認したい｡
‫学生では｡
‫つまり､ 先ほども言ったように､ ここは基本的に各ループなのです｡
‫そして､ 性別が女性である生徒をすべてチェックし､ それらの生徒を選択して､ 女性生徒の中に入れたいと考えています｡
‫列挙できるようになったので､ コンソールにそれを書きます｡ wとfemale studentsのようにfor
‫eachループを使って､ studentという学生とfemale studentsというコレクションを使います｡
‫そして､ ここでは学生用ドットプリントを使うだけです｡
‫では次に､ 女子学生をチェックしましょう｡
‫そこで､ u-mot女子学生メソッド｡
‫そして､ この名前が完璧でないことも知っています｡
‫女子学生を表示する､ 女子学生でフィルタリングする､ 男子学生でフィルタリングする､ といった感じでしょうか｡
‫でも､ ここではシンプルに考えます｡
‫そして私たちは､ ad1､ 3､ 5､ 17歳､ 19歳､ 22歳の女子学生Carla､ Layla､ Lindaです｡
‫そして､ このように異なる大学である｡
‫わかりました｡
‫これで､ 今回のケースでより大きなリストを作成できることがお分かりいただけたと思います｡
‫ここでは､ 追加した要素でリストを使用しているだけです｡
‫配列の使い方､ リンクの使い方はおわかりいただけたと思います｡
‫このステートメントは､ レースとリスト､ そして一般的なリスト型と同じように､ enumerableでも使うことができますね？
‫もちろん､ テーブルやXMLでも｡
‫そしてそれは､ 後々になってわかることです｡
‫では､ 次のビデオでは､ このクラスを拡張してみましょう｡
‫私たちの大学のマネージャークラスは､ これまでのところ､ 学生､ 男性と女性しか見ていないので､ まあ､ もう少し情報を見せてくれるでしょう｡
‫しかし､ 別の情報でフィルタリングしたい場合や､ ソートしたい場合などにはどうしたらいいのでしょうか｡
‫それは次のビデオで説明します｡
‫それでは､ 次のビデオでお会いしましょう｡