‫お帰りなさい｡
‫このビデオでは､ 前回のビデオで見たものを理論的に使うのですが､ ここではデモを行います｡
‫そこで､ データ型の青写真であるクラスを独自に作成することにします｡
‫そして､ そのクラスはプロパティを持ち､ そのクラスはメソッドなどを持つことができるのです｡
‫では､ さっそく新しいクラスを作成してみましょう｡
‫Cショップレベルを右クリックして､ 新しいクラスを作成し､ これをヒューマンドットCSSと呼ぶことにします｡
‫では､ 次に進みましょう｡
‫人間クラスでは､ メンバーを作りたい｡
‫そしてメンバーは､ 例えば変数であったり､ メソッドであったりと､ その特定のクラスの一部であることから､
‫メンバーと呼ばれます｡
‫例えば､ 人間であればfirst nameという文字列をメンバー変数とします｡
‫そうして､ この人間｡
‫私たちのデータ型は､ 私が作成できるようになります｡
‫そこから外れたオブジェクト｡
‫では､ これから人間を作り､ その人間を呼び出すことにします｡
‫デニスは新しい人間で､ それが私のやり方です｡
‫つまり､ このように自分のクラスのオブジェクトを作成するのです｡
‫または､ 人間のインスタンスとも呼ばれる｡
‫つまり､ このインスタンスはDennisという名前で､ このDennisにはファーストネームがあります｡
‫ですから､ ファーストネームを変えたい場合､ それを実現する方法は複数あります｡
‫コンストラクターなどで､ そのようなことができるのです｡
‫ご心配なく｡
‫それを全部やるんです｡
‫でも､ このビデオではシンプルに説明します｡
‫つまり､ これが実は設計図であることをまず理解してください｡
‫クラス・ヒューマンはもう青写真なんですね｡
‫そして､ 自己紹介をしたいとします｡
‫つまり､ この人間クラスは複数の能力､ あるいはスキルを持っているわけです｡
‫だから､ たとえば､ お酒を飲むのもいい｡
‫よし､ どれくらい飲めるか､ どれくらい飲めるか？
‫だから､ 飲むたびにパラメータを持つことができるのです｡
‫どのくらい飲んだの？
‫そこで､ 自分の水分量を見るために､ 仮に0から100までの水分量があるとしましょう｡
‫水分補給は？
‫そして､ 飲むたびに､ たとえば半分のリットルを飲むとします｡
‫そうすると､ 水分量が30％､ 40％増えます｡
‫そうすると､ 例えばプログラミングの目的で人間をデザインすることができるんですね｡
‫そこで､ これから紹介するのは､ メソッドを作るだけです｡
‫そして､ これは私の人間クラスの一部であり､ ブループリントであるため､ メンバーメソッドになる予定です｡
‫つまり､ このクラスはデータ型の設計図であり､ このメソッドはvoid､ public void､ 自己紹介をすることになるのです｡
‫そして､ それは単にコンソールに何かを書き込むだけなのです｡
‫こんにちは､ というようなことが書かれそうです｡
‫そして､ ファーストネームを書き込むことになるのです｡
‫わかりました｡
‫これで､ ご覧の通り､ first nameには値がありませんね｡
‫そして､ デニスに何かを格納しようとすると､ だからファーストネームを変えようとすると､ それができないんです｡
‫それは保護されているからであり､ それ以前に公共がないから保護されているのです｡
‫つまり､ publicを付けないと､ この変数は保護され､ 外からアクセスできないようになるわけです｡
‫ですから､ このクラスの外から､ このクラスの中で使っても､ ご覧のように､ ここで使って問題なかったわけです｡
‫でも､ 公開すると､ 今度は自分のプログラムのCSSからも使えるようになるので､ 単純にデニスのファーストネームと言えば､ それを設定することになりますね｡
‫だから､ それをデニスに設定するんです｡
‫では､ デニスさんを紹介します｡
‫だから､ デニスはそのまま自己紹介をすることになる｡
‫このように､ private変数やpublic変数に外部からアクセスすることができるのです｡
‫そして､ さらにそれを変える｡
‫そして､ このようにしてクラスの､ この場合はオブジェクトのメソッドを呼び出すことができるのです｡
‫Dennis だから､ Dennisは人間型､ つまりこのクラスの型なんです｡
‫これが設計図で､ introduce myselfというメソッドがあるんですね｡
‫そして､ ここで呼び出すのがこのメソッドです｡
‫このコードを実行し､ コンソールに何かを表示するために､ コンソールがすぐにシャットダウンしないようにキーも読み取りたいのです｡
‫そして､ 私たちがとても高い位置にいて､ デニスがコンソールに書き込まれていることです｡
‫では､ 新しいオブジェクトを作り､ それを「人間」と呼ぶことにしましょう｡
‫マイケルは新しい人間です｡
‫そして､ マイケルの紹介をしたら､ では私の紹介を｡
‫このままコードを実行すると､ 空きが多いというだけであることがわかると思います｡
‫それは､ マイケルという名前を設定しなかったからです｡
‫ここで､ 名前を保存したり､ 名前を直接変更したりしたいとします｡
‫そこで､ マイケル､ ここで､ テストしてみましょうと言うわけです｡
‫コードを実行してみましょう｡
‫そしてこの場合､ 実際にうまくいくのです｡
‫だから､ 「こんにちは､ 私はデニスです」「こんにちは､ 私はマイケルです」と表示されるのです｡
‫だから､ 私たちはここで､ あなたがそれを変えない限り､ すべての人間はマイケルと呼ばれるようになると言っているのです｡
‫だから､ デニスさんは実際に変えていますが､ マイケルさんは名前を変えていません｡
‫だから､ マイケルはやっぱりマイケルのままでいいんです｡
‫でも､ たとえば､ マイケルという名前をマイケルに変えたりしたら｡
‫そこで､ 彼が違う言語で自己紹介をしたいとすると､ そこで彼はマイケルと呼ばれることになるし､
‫例えば､ マイケルもその時の選択肢になる｡
‫上書きされてしまうのです｡
‫そして､ 私たちは見ています｡
‫こんにちは､ 私はデニスです｡
‫そして､ こんにちは､ 私はマイケルです｡
‫わかりました｡
‫だから､ これは実際に常に同じにすることができる方法です｡
‫つまり､ この変数は､ あなたが変更する以外は､ 常に同じファーストネームになるわけです｡
‫だから今､ 非公開にしたら､ だからそれを止めさせてください｡
‫プライベートな文字列にする Michael 今､ ファーストネームがプライベートになっているので､ 変更できないので､
‫ここでエラーが出ます｡
‫だから､ デニスもマイクもマイケルも､ 今は名前を変えることはできない｡
‫その2つのオブジェクトが､ そうなるわけです｡
‫同じです｡
‫ということになるんですね｡
‫こんにちは､ マイケルです｡
‫私はマイケルです｡
‫だから､ 両者は何ら変わることはない｡
‫これで､ なぜこのメソッドをpublicにするのかがわかったと思います｡
‫そして､ これは実際にはパブリック・メソッドであり､ これをプライベートにしてしまうのは本当に意味がないように思えます｡
‫まあ､ 実際には､ 先ほど言ったように､ 複数の変更方法があるんですけどね｡
‫そのひとつが､ プロパティの作成です｡
‫もうひとつはコンストラクタを作ることで､ その両方を行います｡
‫そこで､ 次のビデオでは､ まずコンストラクタから始めて､ その進め方を説明したいと思います｡
‫では､ まず最初に､ ちょっとしたチャレンジをお願いします｡
‫そこで､ 文字列型のパブリック変数 last name を作成して変更し､ 自分自身のメソッドを導入します｡
‫だから､ 名前を全部伝えるのです｡
‫だから､ ファーストネームだけでなく､ ラストネームも書いてあるんです｡
‫そして､ 自分自身に関する完全な情報を持つ2つのオブジェクトをプログラムCSSに作成します｡
‫そこで､ mainメソッドで
‫わかりました｡
‫映像を一時停止してやってみてほしい｡
‫それでは､ 公開されている主演の姓を､ とりあえず空欄にしておきます｡
‫こちらも同様です｡
‫誰もがマイケルと呼ばれるわけではないので､ もうそのファーストネームをマイケルでないものに変えようと思っています｡
‫それなら､ 私は変わります｡
‫苗字も言うように自己紹介｡
‫だから､ ここの名字が必要なんだ｡
‫そして今度は､ 自分自身に関する完全な情報を持つ2つのオブジェクトを作成してみましょう｡
‫だから､ 処分するんです｡
‫では､ 実際にここですべてを整理してみましょう｡
‫だからまず､ 人間で､ シシーと呼ぶことにしているのは､ 新しい人間で､ 今､ シシーにはファーストネームがあるんだ｡
‫だからファーストネームはSissy､ ラストネームは彼女の名前になる｡
‫まあ､ 実際､ シシーの名字は知らないんだけどね｡
‫ワグナーを呼んでみる｡
‫そして､ 自己紹介をするシシー､ 自己紹介をする､ 今度は別人､ 人間の正面､
‫新しい人間の登場です｡
‫そして､ そのフロンタルが､ 実はフロンタルということになる｡
‫とても珍しい名前ですが､ オーストリアの古い面白い名前です｡
‫そして､ そのフロンタルの名字はミラになるんです｡
‫実際にあなたも一緒に書いてみてください｡
‫ここでは､ この専用サインを使う必要はありません｡
‫なるほど｡
‫そして､ その人も自己紹介をしてください｡
‫だから､ 自己紹介は彼が言うことだ｡
‫では､ コードを実行して見ましょう｡
‫こんにちは､ シシー・ワグナーです｡
‫こんにちは､ 私はフランツ・フォン・ミラーです｡
‫そこで､ 私たちは
‫ヒューマンを使うか､ 独自のデータ型を使うかがわかりますね｡
‫というのも､ 今のところ､ これは単なるメンバーであり､ 単なる変数だからです｡
‫そして､ 先ほどはプロパティの話をしました｡
‫例えば､ lengthはプロパティでしたが､ プロパティは先頭に大文字で書きます｡ これからプロパティについて調べますが､
‫もちろんコンストラクタについても調べます｡ なぜかというと､ 単純に1行で全部できるのに､
‫このようにする必要があるのか､ ということです｡
‫だから､ ここにシシーやワグナーのようなものを入力すれば､ その人間はすでに出来上がっていることになる｡
‫そうすれば､ このような追加行をする必要がないので､ 単純に同じ行で済ませることができますね｡
‫そして､ それこそがコンストラクタを使うことで実現できることであり､ 次のビデオでそれをやってみようと思っています｡
‫だから､ ここにあるような小さなチャレンジをなんとかやってほしい｡
‫次の動画では
‫プロパティに入る前に､ まずコンストラクタを見てみましょう｡
‫それでは､ 次のビデオでお会いしましょう｡