※抽象プロパティの書き方
public abstract データ型 プロパティ名 { get; set; } //自動実装プロパティにする
インターフェイス
メリット;インターフェイス(操作のやり方)を統一しておくことで使いやすくなる。
継承は単一だが、インターフェイスは多重に実装できる。
【インターフェイスの作成方法】
Visual Studioで「インターフェイス」を追加。
インターフェイスメンバーには「public abstract」をつけない。書くとコンパイルエラーになる。
【インターフェイスの実装のしかた】
継承とほぼ同じだが、具象メンバーに「override」はつけない。書くとコンパイルエラーになる。
継承と実装を行うときは
「class クラス名: 基本クラス名 , インターフェイス名, インターフェイス名」と書く。
【ポリモーフィズム】
インターフェイスで配列をつくって具象クラスのインスタンスをアップキャストして代入。
for文とあわせてつかうと、動作を変えることができる。
値型と参照型
データ型がclass、interface、配列は「参照型」(変数のメモリには、変数の値が入れられているメモリのアドレスが入っている)
※null・・・参照型の変数にアドレスが入っていない状態を示す値
列挙型 enum・・・列挙値からしか選択できない。「値型」
構造体 struct・・・ほぼクラスと同じ。「値型」のため処理が速くなることがある。
※値型にnullは代入できないが、許容するときにはint?のように「?」をつける。
「参照渡し」を行うには、実引数と仮引数に「ref」か「out」をつける。
「ガベージコレクター」C#の場合、参照が切れているもの、つかわれていないインスタンスをきれいにしてくれる。
コメント