クラス
クラスは、振る舞い(メソッド)と状態(フィールド)とを構成要素とします。
オブジェクト指向では中心的概念を担いました。
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; }
}