独学で学んだことのまとめ
用語と概要
クラス名
(共通した事が書かれているクラス) | (基となるクラスを参考にするクラス) |
ベースクラス | |
親クラス | 子クラス |
スーパークラス | サブクラス |
基底クラス | 派生クラス |
修飾子
private修飾子 | そのクラス内でしか使えない |
public修飾子 | どのクラスからでも使える |
protected修飾子 | 親子で共通して使える(他人は使用不可) |
sealed修飾子 | 継承を禁止する |
internal修飾子 | 同じアセンブリ(プロジェクト)なら使える |
キーワード
virtualキーワード | 子クラスで書き換え可能にする場合に使用する |
overrideキーワード | 子クラスで親クラスのメソッドを再定義する場合に使用する |
baseキーワード | 親クラスのvirtualで宣言しているメソッドの内容を実行する場合に使用する |
staticキーワード | シングルトンのようにゲーム内に1つしか生成しない場合に使用する |
constキーワード | 固定値を宣言する場合に使用する |
強制
名前 | インターフェイス「interface」 | 抽象クラス「abstract」 |
使用方法 | 他クラスへの実装 | 他クラスへの継承 |
命名規則 | I+大文字から始まる名前 | なし |
メソッドのルール | 必ずpublic修飾子を付けろ | なし |
「実装・継承」数 | 複数実装可能 | 1つのみ継承可能 |
記述兄用 | メソッドの宣言のみ | メソッドの宣言のみ |
メソッドの使用 | 強制(使用しないとエラーになる) | 要望(使用しなくてもエラーにならない) |
使用状況 | 個人開発・共同開発 | 共同開発 |
参照渡し・値渡し
参照渡し(ref) | ・「渡し手」の値をそのまま「貰い手」に渡す(「同期する」に近い) ・「渡し手」が「貰い手」に参照渡しをした後に 一方が値を変更したら、もう一方も変更される |
値渡し | ・「渡し手」の値をコピーした値を「貰い手」に渡す(メモリが増える) ・「渡し手」が「貰い手」に参照渡しをした後に 一方が値を変更しても、もう一方は変更されない |
クラス
クラス名 | 内容 |
static(静的)クラス | MonoBehaviourクラスを継承することが出来ず、 ゲームオブジェクトへのアタッチも出来ないため、 1つしか存在しないことが保証される。 (シングルトンのアタッチできないバージョン) |
sealedクラス | 他クラスへの継承が出来ない(禁止する)クラス。 |
変数
変数名 | 内容 |
static(静的)変数 | 主にシングルトンでinstance変数を宣言する際に使用する |
const変数(定数) | 必ず宣言するタイミングで初期化しなければならず、 宣言時以外に値を変更することは出来ない。 (宣言時以外は読み取り専用となる) |
メソッド
メソッド名 | 概要 |
Mainメソッド | ・エントリーポイント ・必ずstatic(静的)メソッド ・引数は「なし」か「string[] args」 ・戻り値は「void」か「int」か「Task」か「Task<int>」 |
「エントリーポイント」とは、 そのプログラムにおいて一番最初に実行される場所のこと である。 (UnityでいうStartメソッド)
注意点
- 子クラスでUpdateメソッドとStartメソッドをそのまま宣言すると、親クラスのUpdateメソッドとStartメソッドが無効になる
- ConsoleクラスのReadLineメソッドの戻り値はnullの可能性もあるため、戻り値を取得する際は必ず「string?」(null許容型)にしなければいけない
コメント