アフィリエイト広告を利用しています

現在ははてなブログで投稿しています!

広告

posted by fanblog

2018年09月19日

【unity】関数に付いてるpublic, private, protected… それらは「アクセス修飾子」と言うらしい。

他の方のブログとかソースコードとか
見ていると、たまに

「protected」とか

「virtual」とか

そんなのが「void」の前に
付いてるのを見かけます。


何なんでしょうかね、あれ。


気になったので調べてみたり。


アクセス修飾子

あの「voidの前に付いてるやつ」は

アクセス修飾子と言うらしいです。

アクセス修飾子の種類としては、


・public

・private

・protected

・internal


代表的なのはこの4つくらいですかね。

というか、これくらいしか知らないです。

これら以外見た事ありません。




…と、これらを上手く使うことで、

「スクリプトへのアクセスの制限」が
掛けられる
 みたいです。
………正確には、「クラスへの」ですが…。

外部からのアクセスに強くできたりする訳ですね。


確か、「public」と「private」は
記事を書いた気がします。

あまり覚えてませんが…。



まぁ、今回は関数での使い方として
紹介していきたいと思います。


public void 関数 () {}


他のスクリプトからアクセス出来ます。

英単語も一緒に覚えましょう。

public 「公共の」  という意味です。

ですので、public は開放的なんですね。

いろんな場所からアクセスできます。



あと、「public」は変数にも付けたりしますよね。

public int i;

みたいな感じで。


関数も使い方は同じで、


TestScript_public.cs
public void Test () {



と書きます。


あとは、別のスクリプトから
アクセスするだけですね。

TestScript_public.Test();

これでよし。
これで呼び出せます。


書き終わって思ったんですが、これだと
アクセスの仕方の紹介じゃないですか…。


……ま、とにかく、 public は
外部スクリプトからアクセス出来る

ということです。


private void 関数 () {}


この修飾子が付いている関数(または変数)は
そのスクリプト(正確にはクラス!)からしか
アクセス出来ないというやつです。


TestScript_private.cs
private void Test () {

}



このように void の前に「private」が付いていると

外部からアクセスできません。


仮に

TestScript_private.Test();

と書いたとしても、

「そんな関数ねぇよ」とスクリプトにエラーが出ます。



これを付けるメリットとしては、

このクラス内でしか実行できない訳ですから、

publicのようにあちこちに飛んで実行する、ということが
無く、バグが起こりにくいという優れもの!


使い方に慣れれば、良く役に立ちます。


internal void 関数 () {}


internalは、調べてみましたが
よく分からなかったです…。

現在のアセンブリに
アクセスが制限されます


とか書いてあるんですが。

アセンブリってなんですか。

c#のアセンブリをググっても
MicroSoftの.NET?とかいうの出てくるし…。


一応、分かったことは

privateと似てる

ということくらいですかね。


外部から → ✕
内部から → ○


こんな所しか分かりませんでした!

誰か助けて!


protected void 関数 () {}


protectedは、全くの外部からは
アクセスを受け付けない
ようです。

派生クラス、所謂いわゆるクラス継承したクラスですね。

分からない人には、本当に
分からないと思います…。

僕もプログラミングを始めた頃は、

「クラスってなんですか」

とか思ってたものです。


クラス継承に関しては、また今度書こうかな…。


クラス継承が何か分かっている人は、

「派生クラスからのみアクセスの許可」

の意味が分かると思います!


あとがき


こんな所ですかね。

一通り紹介は終わったと思います!



というか、更新遅れてすみません!

思った以上に書くのに時間が…。

………………頑張ります。




スポンサードリンク





投稿コメント
* 気軽にコメントくださいー *

※ ブログに表示されるのは、主の承認が必要なので時間がかかります!
  コメントに気づかない場合もありますので、返信が遅れる場合も...

お名前:

メールアドレス:


ホームページアドレス:

コメント: 必須項目

この記事へのトラックバックURL
https://fanblogs.jp/tb/8111457
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
プロフィール
ピノまっちゃさんの画像
ピノまっちゃ
どうも、ピノまっちゃ(PinoMatcha)です!
ゲーム制作をちょこまか頑張ってる大学生で、プログラミングも独学です。
ですので実力は全然ですが、最善を尽くして頑張っております!

名前の由来はピノの抹茶味が好きだからじゃなくて、ピノと抹茶が好きだからです!


更新 : 不定期!
プロフィール
新着記事
最新のコメント
更新事項
2018/8/2 定期更新への変更の報告に追記しました。

2018/5/10 「続きを読む」機能の使い方がやっと分かりました。

2017/9/14 プレイヤーを動かす:関数の解説の一部を書き直しました。

2017/8/1 【unity5】カメラ移動・回転させる方法に多数の画像を追加しました。
カテゴリーアーカイブ
YouTubeチャンネル
Fantiaリンク
よければ応援お願いします!

Pixivアカウント
現在、調整中です…
×

この広告は30日以上新しい記事の更新がないブログに表示されております。