正確性を捨てたUnityの用語解説 プロパティって上司と部下とかの上下関係を成り立たせる奴じゃね?


今回はプロパティの解説みたいなのを書いていこうと思います。

//コードで書くと、こんな奴
public int Name { get; private set; }

とは言ったものの、いまさらプロパティの解説なんかしても二番煎じになりそうなので、
正確性を捨てて、なんとなく分かるをモットーに書いてみます。

⚠️正確性皆無です。

プロパティは上司と部下の上下関係を成り立たせる奴!
だと最近思い始めました。

ある会社で部下が商談に行く例で、
人間バージョン コンピューターバージョンの二つの場合を考えてみます。

人間

ある会社で部下が商談に行くことになりました。
部下は商談を始める前に、上司から許可をとれ!
と言われていました。

しかし部下は許可をとるのが、めんどくさかったので自分で許可を出そうとしました。

でもよく考えたらそんな事は出来ません。
仕方なく部下は上司から許可を取って商談を始めました。

これって当たり前のことですよね。
上司から許可が出ないと部下は商談にいけない。

でもプログラムではそうではなくて


コンピューター

ある会社で部下が商談に行くことになりました。
部下は商談を始める前に、上司から許可をとれ!
と言われていました。

しかし部下は許可をとるのが、めんどくさかったので自分で許可を出そうとしました。

そこで部下はなぜか上司のプログラムにアクセスできたので、許可を出した判定をtrue にしました。

こうして部下は、商談を始めました。

こんな感じで、上司が許可を出したら、部下が商談に行くことにします。
でも部下もなぜか許可を出せます。

みたいな状態になっています。

なので部下は商談の許可は出せなくて、上司が許可を出した時のみ、商談に行けるようにしたい!

とプログラムで制御しなきゃいけないのです。

そんな時に使うのがプロパティって奴です。

プロパティって言われたら、プログラム同士の上下関係を決めてるんだなぁ。

程度に思っときゃ良いです。

めっちゃ適当に書いたので、ちゃんとしたプロパティの解説をしてるサイトをいくつか載っけときます。

プロパティで安全に変数を共有する方法は、

部下は上司が許可を出したか分かるけど、自分で許可を出すことができない状態にする方法、みたいに言えそう。(適当)


この記事が気に入ったらサポートをしてみませんか?