2つのメソッドに同じ名前を付けることはできません 。 Pythonでのメソッドのオーバーロードは、同じ演算子が異なる意味を持つことを可能にする機能です。この記事では、Pythonのメソッドオーバーロード機能とその使用方法について説明します。次の順序でメソッドをオーバーロードします。
オーバーロードとは何ですか?
オーバーロード 関数または演算子が、に渡されるパラメーターに基づいてさまざまな方法で動作する機能です。 、または演算子が作用するオペランド。
いくつかの 利点 過負荷を使用する方法は次のとおりです。
JavaScriptでアラートを出す方法
メソッドをオーバーロードすると、再利用性が促進されます。たとえば、わずかに異なる複数のメソッドを作成する代わりに、1つのメソッドを作成してオーバーロードすることができます。
オーバーロードはまた、コードの明確さを改善し、複雑さを排除します。
オーバーロードは非常に便利な概念です。しかし、それはいくつかを持っています 短所 それに関連付けられています。
オーバーロードは、全体で使用すると混乱を招く可能性があります 境界。過度に使用すると、オーバーロードされた関数の管理が面倒になります。
Pythonでのメソッドのオーバーロード
Pythonでは、さまざまな方法で呼び出すことができるメソッドを作成できます。したがって、0個、1個、または複数のパラメーターを持つメソッドを持つことができます。メソッド定義に応じて、ゼロ、1つ、または複数の引数を使用して呼び出すことができます。
単一のメソッドまたは関数が与えられた場合、パラメーターの数はユーザーが指定できます。同じメソッドを異なる方法で呼び出すこのプロセスは、メソッドのオーバーロードと呼ばれます。
メソッドのオーバーロードの例
Pythonでのメソッドのオーバーロードとは何かがわかったので、例を見てみましょう。ここでは、1つのクラスを作成します こんにちは() 。このメソッドの最初のパラメーターはNoneに設定されています。これにより、パラメーターの有無にかかわらず呼び出すオプションが提供されます。
サービスナウチケットシステムトレーニング
クラスにも基づいてオブジェクトが作成され、0個と1個のパラメーターを使用してそのメソッドを呼び出します。
例1:
#!/ usr / bin / env python class Person:def Hello(self、name = None):if name is not None:print( 'Hello' + name)else:print( 'Hello')#インスタンスを作成obj = Person ()#メソッドを呼び出すobj.Hello()#パラメータを指定してメソッドを呼び出すobj.Hello( 'Edureka')
出力:
こんにちはこんにちはエドゥレカ
メソッドのオーバーロードを明確にするために、2つの方法でメソッドHello()を呼び出すことができます。
obj.Hello()obj.Hello( 'Edureka')
上記の例では、許可するように定義されているよりも少ない引数で呼び出すことができるメソッドを作成しました。また、2つに限定されません 変数 そしてあなたのメソッドはオプションであるより多くの変数を持つことができます。
さて、別のものを取りましょう 例 メソッドのオーバーロードを理解するには 。
オブジェクトの配列javaの例
例2:
次の例では、areaメソッドをオーバーロードします。引数がない場合は0を返します。また、引数が1つある場合は、値の2乗を返し、正方形の面積を計算していると想定します。また、引数が2つある場合は、2つの値の積を返し、長方形の面積を計算していると想定します。
#class class Compute:#area method def area(self、x = None、y = None):if x!= None and y!= None:return x * y elif x!= None:return x * x else:return 0#object obj = Compute()#ゼロ引数print( 'Area Value:'、obj.area())#1引数print( 'Area Value:'、obj.area(4))#2引数print( 'Area値: '、obj.area(3、5))
上記のコードは私たちに次のことを与えるでしょう 出力:
エリア値:0エリア値:16エリア値:15
これで、記事は終わりです。 Pythonでのメソッドのオーバーロードとは何か、そしてそれがどのように機能するかを理解していただければ幸いです。
Pythonとそのさまざまなアプリケーションに関する詳細な知識を得るには、ライブに登録できます。 24時間年中無休のサポートと生涯アクセスを備えたEdurekaによる。
質問がありますか?この「Pythonでのメソッドのオーバーロード」ブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。