C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のシールドクラス(sealedクラス)とは?基本と使い方を解説

C#のシールドクラスとは

C#では、sealedキーワードを付けたクラス(シールドクラス)は、他のクラスから継承することができません。これにより、クラスの設計意図を守り、意図しない継承による改変や拡張を防ぐことができます。

また、sealedキーワードはメソッドに対しても使用できます。メソッドにsealed修飾子を付けると、そのメソッドはそれ以上オーバーライドできなくなります。なお、sealedメソッドは必ず派生クラスの一部である必要があり、かつオーバーライドされたメソッドでなければならない点に注意してください。

シールドクラスのコード例

以下は、C#におけるシールドクラスの具体的な使用例です。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            Result ob = new Result();
            string str = ob.Display();

            Console.WriteLine(str);
            Console.ReadLine();
        }
    }

    public sealed class Result {
        public string Display() {
            return "Passed";
        }
    }
}

シールドクラスのメンバーへのアクセス方法

シールドクラスのメンバーにアクセスするには、インスタンス(オブジェクト)を生成する必要があります。これは、シールドクラス内で定義されたメソッドが継承できないためです。

public sealed class Result {
    public string Display() {
        return "Passed";
    }
}

まとめ

sealedキーワードを活用することで、クラスやメソッドの継承・オーバーライドを明示的に制限できます。ライブラリやフレームワークの公開APIなど、外部からの意図しない拡張を防ぎたい場合に有効な手段です。

  1. C#のArrayクラスとは?主なプロパティと使い方をわかりやすく解説

    C#のArrayクラスとは Arrayクラスは、C#におけるすべての配列の基底クラス(基本クラス)です。このクラスはSystem名前空間で定義されており、配列を操作するためのさまざまなプロパティやメソッドが用意されています。 通常、C#で配列を作成すると、その配列は暗黙的にこのArrayクラスから派生しているため、Lengthなどの便利な機能をすぐに利用できます。 Arrayクラスの主なプロパティ一覧 以下の表は、Arrayクラスで特によく使用される代表的なプロパティをまとめたものです。 番号 プロパティと説明 1 IsFixedSize 配列が固定サイズであるかどうかを示す値を取得

  2. dry-rbとは?Ruby開発に役立つ注目のGemコレクション徹底解説

    新しい面白いgemを試してみたいと思いませんか? そんな方におすすめしたいのがdry-rbです。これは一般的な問題への解決策を提供するgemのコレクションで、18以上のRuby gemで構成されています。それぞれのgemは組み合わせて使うことも、単体で使うことも可能です。 代表的なgemには以下のようなものがあります: dry-initializer dry-struct dry-validations dry-events dry-transaction この記事では、その中から3つのgemをピックアップして紹介し、dry-rbが持つ可能性の一端を体験していただきます! dry-str