11

Scala では、そのクラスを拡張できる唯一のクラスを同じクラスに配置する必要があるように、シールされた基本クラスまたは特性 (インターフェイス) を定義することができます。

これは、ライブラリをコーディングするときに便利なパターンです。.NET に同等のものはありますか?

4

1 に答える 1

21

これをシミュレートする唯一の方法は、抽象クラスにプライベート コンストラクターを持ち、ネストされたクラスとして実装を提供することです。

public abstract class Foo
{
  private Foo(int k) {}

  public class Bar : Foo
  {
     public Bar() : base(10) {}
  }
}
于 2013-07-10T07:07:07.997 に答える