クラス
クラスは、振る舞い(メソッド)と状態(フィールド)とを構成要素とします。
オブジェクト指向では中心的概念を担いました。
class SampleClass { // 状態(フィールド) private int _number; // 振る舞い(メソッド) public int GetNumber() => _number; } |
インナークラス
クラスの中に定義されたクラス。
入れ子にされた型(nested types)ともいう。
使用用途はあんまりない。
class ParentClass { class ChildClass { } } |
部分クラス
一つのクラスを複数のファイルに定義することが出来る。
C#ではファイル名とクラス名や配置場所とに関係はない。
// SampleClass1.cs ファイルに定義 public partial class SampleClass { public void DoSomething() { } } // SampleClass2.cs ファイルに定義 public partial class SampleClass { public void DoAnything() { } } |
静的クラス
静的メンバのみで定義される。
シングルトンであり、インスタンス化せずに使える。
static class StaticClass { public static int Number { get ; set ; } public static int Add( int x , int y) => x + y; } |
抽象クラス
new演算子などでインスタンス化できない。(ビルドエラーとなる)
継承元クラスとして使われることが前提。
実処理をもつメソッドの定義が出来る。
abstract class AbstractSampleClass { protected int _number; public int GetNumber()=> _number; } |
シールドクラス
このクラスを親クラスとした派生クラスが定義できない。
(ビルドエラーとなります)
sealed class SealdedSampleClass { public int Number { get ; set ; } } |