オブジェクト指向プログラミングでは、サブクラスは親クラスの関数をオーバーライドすることでその動作を拡張します。関数をオーバーライドするには、override キーワードを使用する必要があり、サブクラス関数のシグネチャは親クラスとまったく同じである必要があります。利点には、親クラスの動作のカスタマイズ、親クラスの機能の維持、コードの再利用性の向上が含まれます。関数シグネチャの一致、親クラス実装の呼び出し、および慎重なオーバーライドに注意してください。
オブジェクト指向プログラミングでは、サブクラスは親クラス関数をオーバーライドして、Modify またはその動作を拡張します。これにより、サブクラスは親クラスの基本機能を維持しながら、親クラスの機能を特殊化することができます。
サブクラスで親クラスの関数をオーバーライドするには、override
キーワードを使用する必要があります。このキーワードは、親クラスの関数をオーバーライドすることをコンパイラーに示します。サブクラスの関数シグネチャが、関数名、パラメータ リスト、戻り値の型など、親クラスの関数シグネチャとまったく同じであることを確認する必要があります。
class Parent: def say_hello(self): print("Hello from parent class!") class Child(Parent): def say_hello(self): super().say_hello() print("Hello from child class!")
この例では、Child
クラスが Parent
クラスの say_hello
関数をオーバーライドします。サブクラス関数は、super()
メソッドを呼び出して親クラスの元の実装にアクセスし、独自の動作を追加します。
ログ機能を追加する電卓クラスの例を考えてみましょう。
class Calculator: def add(self, a, b): return a + b class LoggingCalculator(Calculator): def add(self, a, b): print(f"Adding {a} and {b}") return super().add(a, b)
この例では、LoggingCalculator
クラスは、Calculator
クラスの add
関数をオーバーライドして、ログを追加します。 add
メソッドが呼び出されるたびに、加算される数値が出力されてから、親クラス Calculator
内の元の add
メソッドを呼び出して実際の加算を実行します。 。
関数オーバーライドには次の利点があります。
super()
を使用して親クラスの元の実装を呼び出します。 以上が親クラス関数のオーバーライド: サブクラスによる親クラスの動作の拡張について理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。