‫お帰りなさい｡
‫このビデオでは､ 作成できるコンストラクタの量の違いについて見ていきます｡
‫そして､ それらはほぼ無限に､ 少なくとも､ あなたのメモリにあるスペースと同じくらい､ たくさんのコンストラクタを作ることができます｡
‫というのが大まかなイメージです｡
‫前回のビデオでコンストラクタを作成しましたが､ このコンストラクタはパラメータ化されたコンストラクタです｡
‫パラメータ化されたコンストラクタ｡
‫これで､ パラメータ化されたコンストラクタを作成する必要がなくなりました｡
‫パラメータを書かないコンストラクタを作ることもできる｡
‫だから､ デフォルトのコンストラクタ｡
‫そこで､ 一番上にデフォルトのコンストラクタを作り､ それをpublic humanと呼ぶことにします｡
‫そして､ この中で私はコンソールに何かを書き込むだけです｡
‫つまり､ Wコンストラクタが呼び出され､ オブジェクトが作成されたと言うことができます｡
‫だから､ それ以外はほとんど何もないんです｡
‫そうすると､ ご覧のようにパラメータ化されたコンストラクタと､ デフォルトのコンストラクタができます｡
‫デフォルトのコンストラクタです｡
‫まだ何も情報を持っていないhumanという型のオブジェクトを作ることができます｡
‫だから人間､ それをベーシックヒューマンと呼ぶことにしているのは､ 新しい人間になることです｡
‫それだけです｡
‫だから､ 今の基本的な人間は､ 自分の身を削ることを知らないんです｡
‫もちろん､ その方法をベーシックヒューマン､ 自己紹介と呼ぶこともできますが､ あまり情報は与えられないでしょう｡
‫つまり､ これを呼び出すと､ オブジェクトが作成されたというコンストラクタとなるわけです｡
‫こんにちは､ 0歳です｡
‫私の色は､ 私が言ったように､ この基本的な人間のよく､ それはそれ以上の情報を持っていないので､ 与えられた情報がありません｡
‫このように､ すでに2種類のコンストラクタがありますが､ さらに多くのコンストラクタを作成することができます｡
‫だから､ それをここにコピーしてくることもできる｡
‫では､ 先ほどのコンストラクタをコピーしてみましょう｡
‫年齢が分からないので､ 他の情報しかないとします｡
‫では､ 年齢を感じさせない人間を作ればいいのです｡
‫では､ ソマリアの時代がないとしましょう｡
‫それを取り除けば､ またコードを実行することができます｡
‫だから今は､ Hi, I'm Somalia and zero years old.と書いてあるんです｡
‫私の色は青で､ ゼロと書いています｡ なぜなら､ 私たちのケースのように､ 空の値が空であれば､ H an integerは空だからです｡
‫デフォルトがゼロになるだけです｡
‫つまり､ Hは初期化しなくても､ 単純に0に初期化されるのです｡
‫だから､ ここにあるように､ 何も入力していないのに0歳と表示されるのです｡
‫では､ どうすればそれを解決できるのか｡
‫どうすれば解決できるのか？
‫自己紹介の部分を修正すれば､ もし誰かが､ あるいは年齢がわかっても､ 大丈夫と言えるようになります｡
‫だから､ 年齢が等しくない場合はゼロとしよう｡
‫これはここに書いてきてください｡
‫ここで､ 大きく変えてみることにします｡
‫だから､ 変えるんだ｡
‫だから､ もし年齢が同じでないなら
‫ゼロでしょう？
‫それとlsは名字と名前と色しか自己紹介しない｡
‫だから､ ここでHを処分して､ 処分して｡
‫年季の入ったこちらの一枚｡
‫では､ もう一度実行してみましょう｡
‫そして､ 実際にエラーが発生するのです｡
‫その値を変更していないので､ 確認させてください｡
‫なるほど｡
‫これでまた､ 実行できるようになりました｡
‫今､ 私たちは見ています｡
‫私はデニスです｡
‫ぼちぼちと｡
‫それでいいんです｡
‫私はアマリア・パネッタです｡
‫目の色はブルーです｡
‫だから､ 今アマリアは年齢が出なかったから､ 自己紹介の仕方も違うし､ 扱いが違うんです｡
‫そして､ それがなぜ役に立つのか｡
‫なぜ､ そんなものがあるのだろう？
‫例えば､ データベースからユーザーデータを受け取り､ そのデータを使って何かをするプログラムを書きたいとします｡
‫そのため､ 何らかの計算をしたり､ 情報を書き込んだりする必要があります｡
‫だから､ そのユーザーの情報がすべて揃っていれば､ それでいいんです｡
‫そして､ フォームを作成し､ そのフォームにすべての情報を追加して､ プリントアウトして相手に送ったりすることができるのです｡
‫しかし､ 何か情報が不足していたらどうでしょう｡
‫では､ 年齢がないとしましょう｡
‫それなら､ フォームに年齢を書かないだけでいい｡
‫しかし､ 住所などもっと重要なものが抜けていたらどうでしょう？
‫なんでプリントアウトまでするんだ？
‫その人に送ることができないからです｡
‫そうすると､ 違うタイプのコードを書くことになりますね｡
‫だから､ よし､ 住所がない人を全部集めて､ 別のことをやっているんだ､ ということができるんです｡
‫Facebookで名前とかを確認しています｡
‫そこで､ プログラムはFacebookのAPIをチェックすることになる｡
‫その名字と年齢を持つ人がいるのか？
‫そして､ Facebookが情報を提供することで､ プログラムがその人物をさらに調査することができるのです｡
‫そして､ それはここで言っているようなデータ的に微妙なものなのです｡
‫しかし､ 一般的には､ さまざまな情報を持つためのコンストラクタを作成することは非常に便利です｡
‫そのため､ 4つのパラメータを持つものと､ 3つのパラメータを持つものがあります｡
‫2人で1つ､ 1人で1つを作ることは今でも可能です｡
‫ということは､ ちょっとしたチャレンジですね｡
‫4つのケース､ あるいは5つのケースがすべて揃うように､ パラメーターを調整してください｡
‫つまり､ これがデフォルトのコンストラクタです｡
‫では､ 姓と名､ そして名だけの別のコンストラクタを作成してください｡
‫そしてもちろん､ それに応じて自己紹介の方法も調整します｡
‫わかりました｡
‫ぜひ試してみてください｡
‫そこで､ このコードをコピーします｡
‫瞳の色をなくす
‫それだけです｡
‫これがもうひとつのコンストラクタですね｡
‫今度はそれをコピーして､ 苗字を消してみます｡
‫わかりました｡
‫そして､ ラストネームは廃止しよう｡
‫そして今､ 当然ながら､ まだ方法を調整する必要があります｡
‫だから
‫自己紹介の方法です｡
‫ここで､ Hが0でない場合､ また､ 姓が現在等しくない場合を考えてみました｡
‫あと､ ここには何があるんですか？
‫I color is not equal null､ そして最後に私たちのファーストネームがあるので､ 別の順番にすることができます｡
‫でも､ 結局はいいんですよ｡
‫これらの値がすべてnullでない場合､ 先に進んでこれを行い､ そうでない場合はここで別のチェックを行います｡
‫ここでこのifをコピーして､ 次のifで､ 等号がない場合はどうするかと言うことで､ これを取り除いて､
‫もう一度コピーしてみましょう｡
‫そして､ 今は一般的にHが不足しているので､ Hをなくしましょう｡
‫そして今回､ ついに苗字がないバージョンが登場しました｡
‫だから今はもちろん､ ステートメントを調整する必要があります｡
‫つまり､ 姓と名があり､ Hがあり､ ここではHしかないとすると､
‫HとIについて何か書きたい､ といった具合です｡
‫古いんですね｡
‫だから2歳｡
‫今はもう､ それが必要ないんです｡
‫今すぐ
‫それは､ 年齢と､ 姓と名があれば､ ですよね？
‫これで､ 名前と苗字だけになったので､ 色彩の面からも解放されますね｡
‫そして今ようやくファーストネームだけとなりましたね｡
‫では､ ファーストネーム以外を処分してみましょう｡
‫そのため､ 自分自身を紹介するメソッドはクリーンで､ 常に利用可能なものを正確に知らせてくれるようになりました｡
‫そこで､ 新しい人間を作るとして､ 基本的なものではありませんが､ この人間をナタリー､ その跳躍と呼ぶことにしましょう｡
‫そして､ 彼女は新しい人間で､ ファーストネームしかわかりません｡
‫では､ ナタリーさん､ 自己紹介をお願いします｡
‫ここでは大文字を使わないほうがいいのかもしれませんね｡
‫ナタリー､ 自己紹介を
‫そして､ 今度は名字があるものが出てきました｡
‫とても人間らしい｡
‫そして､ またマイケルを呼ぶつもりです｡
‫素晴らしい名前だ､ 新しい人間マイケル｡
‫しかも､ 人間ではなく､ 人間なんです｡
‫そして､ このマイケルが自己紹介をするのですが､ マイケルには名字があるはずです｡
‫だから､ マイケル・ミラーに電話する｡
‫そして今､ 最後のバージョンは､ 人間､ そして私たちは率直に言って､ 新しい人間です｡
‫そして､ フランクです｡
‫そしてこの人､ ウォルターというんですが､ とても面白い名字ですね｡
‫そして､ Hをする｡
‫では､ 彼はというと｡
‫実は､ そのバージョンはないんです｡
‫エッジだけあって､ 色がないバージョンはないんです｡
‫つまり､ これは別のコンストラクタを作ることができるのです｡
‫実は､ できることだからやってみよう｡
‫違うものを作ってみよう｡
‫コピーするだけです｡
‫実は､ あれを真似するんです｡
‫ここにパラメータがあるので､ ここに入れるのですが､ Iカラーを消して､ ここでもアイカラーを消します｡
‫だから､ 今度はもちろん､ 自己紹介の件も調整しなければならない｡
‫しかし､ ここではフランクを25歳にして､ フランクに自己紹介をしてもらいたいのです｡
‫これで､ いつもと同じだとわかりましたね｡
‫利用可能なパラメータに基づいて調整し､ あとはコードを実行するだけです｡
‫だから､ 私たちは
‫こんにちは､ 私はナタリーです｡
‫こんにちは､ 私はマイケル・ミラーです｡
‫私はフランク・ウォルターで25歳などです｡
‫わかりました｡
‫これで複数の異なるコンストラクタを作成する方法を確認できました｡ また､ パラメータを取らないデフォルトのコンストラクタがあることも確認できました｡
‫そして､ パラメータの量に複数の異なるバージョンを持つものもあります｡
‫素晴らしい｡
‫さて､ これでプロパティについて知ることができました｡ プロパティは超､ 超､ 超便利で､
‫変数をパブリックにすることなく値を変更する方法について見ていきましょう｡
‫なぜなら､ 自分が作ったクラスのパブリック変数が変更されるとかなり厄介なことになるからです｡
‫セキュリティ上の問題がたくさんある可能性があり､ それについて詳しく知りたくない場合は､ 私があなたと共有したリンクがあります｡
‫ここでプライベートを使う目的は何なのか､ なぜそれが重要なのか､ それを詳しく読むことができますので､ チェックしてみてください｡
‫それでは､ 次回のビデオで物件をご紹介します｡