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

C#の最後のキーワード


Javaにはfinalキーワードがありますが、C#にはその実装がありません。同じ実装では、sealedキーワードを使用します。

シールを使用すると、メソッドのオーバーライドを防ぐことができます。メソッドのC#で封印された修飾子を使用すると、メソッドはオーバーライドする機能を失います。封印されたメソッドは派生クラスの一部である必要があり、メソッドはオーバーライドされたメソッドである必要があります。

次の例では、ClassTwo派生クラスの封印された修飾子があるため、メソッドdisplay()をオーバーライドできません。

ClassOneは基本クラスですが、ClassTwoとClassThreeは派生クラスです-

class ClassOne {
   public virtual void display() {
         Console.WriteLine("Baseclass");
   }
}

class ClassTwo : ClassOne {
   public sealed override void display() {
      Console.WriteLine("ClassTwo:derivedClass");
   }
}

class ClassThree : ClassTwo {
   public override void display() {
      Console.WriteLine("ClassThree: Another Derived Class");
   }
}

  1. Pythonのclassmethod()

    クラスメソッドは、最初の引数としてクラス自体を受け取ります。このようにして、最初にクラスからインスタンスを作成しなくても、クラス内でメソッドを呼び出すことができます。クラスに含まれるメソッドを宣言する前にデコレータ@classmethodを使用するだけで、メソッドに直接アクセスできます。以下はclassmethidsの主な機能です。 classmethodはクラスにバインドされており、使用するクラスのインスタンス化に依存しません。 classmethodはクラスを変更でき、クラスはクラスのすべてのインスタンスに伝播します。 クラスメソッドの使用 次の例では、WeekDayとい

  2. Pythonのクラスメソッドと静的メソッド

    Pythonのクラスメソッドはメソッドであり、クラスにバインドされていますが、そのクラスのオブジェクトにはバインドされていません。静的メソッドも同じですが、いくつかの基本的な違いがあります。クラスメソッドの場合は@classmethodデコレータを指定する必要があり、静的メソッドの場合は@staticmethodデコレータが使用されます。 クラスメソッドの構文。 class my_class: @classmethod deffunction_name(cls, arguments): #Function Body return value 静的メソッ