Javaにおけるオーバーロードとオーバーライドの違い

主な違い :オーバーロードとは、同じクラスの2つのメソッドに同じ名前と異なるパラメーター型を持つことを意味します。

オーバーライドメソッドとオーバーロードメソッドは、Javaプログラミング言語で使用される2つの概念または手法です。 どちらの概念でも、プログラマは同じ名前のメソッドに対して異なる実装を提供できます。 この記事では、プログラミングの2つの概念を区別します。

関数のオーバーロードまたはメソッドのオーバーロードを使用すると、同じクラスに同じ名前で関数の入力型と出力型が異なる複数のメソッドを作成できます。 これは単に、ある機能が異なるタスクを実行する能力として定義されています。

オーバーロードでは、メソッド実装は同じ名前を共有します。それらが同じようなタスクを実行するからです。 また、オーバーロードは本質的に多態性と見なされます。 実装が異なる関数は、指定された引数の型に依存します。 通常、関数呼び出しの型チェックを強制する静的プログラミング言語に関連付けられています。 プログラマーが同じクラスに多数の異なるメソッドを書くことを可能にするので、それはまた実用的であると考えられます。 ただし、ランタイムプロセッサをオーバーロードすると、オーバーロードされたすべてのメソッドの名前が変更されるため、問題が発生する可能性があります。

オブジェクト指向プログラミングでのメソッドのオーバーライドは、サブクラスまたは子クラスが、そのスーパークラスまたは親クラスの1つによってすでに提供されているメソッドの特定の実装を提供できるようにする機能です。 サブクラスの実装は、親クラスのメソッドと同じ名前、同じパラメータまたはシグニチャ、および同じ戻り型のメソッドを提供することによって、親クラスの実装をオーバーライドまたは置き換えます。

メソッドのオーバーライドでは、プログラム内の特定のタスクを実行するために関数がコーディングされます。 オーバーライドは、その外観について基本クラス関数の存在に依存します。 ここでは、実行される関数はそれを呼び出すために使用されるオブジェクトによって決定されます。つまり、親クラスのオブジェクトがメソッドを呼び出すために使用される場合、親クラス内の関数が実行されます。 上書きは本質的に多相です。 実行時に解決できる最初の暗黙のパラメータに基づいてプログラムを設計するのに役立ちます。 Javaには、メソッドがオーバーライドされないようにプログラマーが許可する言語がいくつかあります。

オーバーロードとオーバーライドの比較

過負荷

オーバーライド

定義

それは、同じ名前の同じクラスのメソッドを持つことを意味しますが、各メソッドは異なるパラメータを持つか、または異なる型と順序を持つ同じパラメータを持ちます。

これは、スーパークラスと同じ名前、同じ型のパラメータ、および同じ戻り型のサブメソッドを持つことを意味します。

意味

これは、同じクラス内で複数のメソッドが同じ名前を共有しているが、シグネチャが異なることを意味します。

つまり、基本クラスのメソッドは、派生クラスで同じシグネチャで再定義されています。

動作

メソッドの動作を追加または拡張します。

メソッドの既存の動作を変更します。

多型

これはコンパイル時の多態性です。

これは実行時多型です。

静的メソッド

静的メソッドはオーバーロードされる可能性があります。

静的メソッドはオーバーライドできません。

ボンド

スタティックボンド

ダイナミックボンド

継承

継承が必要な場合もあれば、そうでない場合もあります。

それは常に継承を必要とします。

協会

通常は静的プログラム言語に関連付けられています。

通常、オブジェクト指向プログラムに関連付けられています。

署名

メソッドは異なるシグネチャを持ちます。

メソッドは同じシグネチャを持つ必要があります。

速度

オーバーライドよりも速いです。

過負荷に比べて遅いです。

クラス

オーバーロードに複数のクラスを必要としません。

オーバーロードするには少なくとも2つのクラスが必要です。

レベル

メソッドは任意のアクセスレベルを持つことができます。

メソッドは同じまたは広いアクセスレベルを持ちます。

クラス追加

{

int sum(int a、int b)

{

a + bを返す。

}

int sum(int a)

{

+ 10を返します。

}

}

クラスA //スーパークラス

{

無効表示(int num)

{

numを表示します。

}

}

//クラスBはクラスAを継承

クラスB //サブクラス

{

無効表示(int num)

{

numを表示します。

}

}

推奨されます

関連記事

  • との差: Micromax A110 Canvas 2とA116 Canvas HDの違い

    Micromax A110 Canvas 2とA116 Canvas HDの違い

    主な違い: Micromax A110 Canvas 2は、同社による最も人気のある携帯電話の1つでした。 それは480×854ピクセルの解像度で5.0インチのディスプレイを備えています。 デュアルコアの1 GHz Cortex-A9と512 MBのRAMで動作します。 マイクロマックスA116キャンバスHDは本当に人気のあるマイクロマックスA110キャンバス2の後継であり、あらゆる点でその前任者よりも優れています。 それは720×1280ピクセルの解像度で5.0インチのディスプレイを備えています。 これは、クアッドコアの1.2 GHz Cortex-A7と1 GBのRAMで動作し、当時の前世代およびほとんどのミッドマーケットのスマートフォンよりも高速です。 テクノロジーは、新しいテクノロジーが古い古いテクノロジーに取って代わるときに頻繁に変わる動的な分野です。 これはスマートフォンやタブレットで最も一般的に見られます。 スマートフォンは、外出先でもあらゆることができるようにすることで、多くの人々の生活様式になりました。 これには、文書の入力、友人とのチャット、ビデオ会議、レポートの作成、電子メールの確認などが含まれます。 人々は常に新しい技術について
  • との差: AVIとMKVの違い

    AVIとMKVの違い

    主な違い: AVIとMKVはどちらも、主にオーディオでビデオを再生するために使用されるファイル形式です。 AVIとMKVはエンコード形式ではありませんが、コンテナファイル、つまりフォーマットされたビデオファイルのラッパーです。 この2つの主な違いは、フォーマット自体からではなく、ファイル内で使用されているコーデックの種類から来ています。 AVIとMKVはどちらも、主にオーディオでビデオを再生するために使用されるファイル形式です。 しかし、ほとんどの人がAVIとMKVはフォーマットをエンコードしているのではなく、コンテナファイル、つまり基本的にフォーマットされたビデオファイルのラッパーであることに気づいていません。 この2つの主な違いは、フォーマット自体からではなく、ファイル内で使用されているコーデックの種類から来ています。 AVIはAudio Video Interleaveの略です。 これはVideo for Windowsテクノロジの一部として含まれていました。 これは、アップルコンピュータによって開発されたMOVファイルフォーマットを念頭に置いてWindowsによって開発されました。 MOVと同様に、AVIにはオーディオとビデオの両方のデータがファイルコンテナに格納されているため、オーディオとビデオの同期再生が可能です。 コンテナファイルは、その中のデータストリームの構成方法を
  • との差: 脂肪とトランス脂肪の違い

    脂肪とトランス脂肪の違い

    主な違い: 脂肪は体にエネルギーを提供します。 それらは必須脂肪酸の源であり、それは食事要求の重要な部分です。 トランス脂肪は特定の種類の不飽和脂肪です。 それは自然界には一般的には見られないが、主に天然脂肪から生産されている。 他の種類の脂肪とは対照的に、トランス脂肪は健康的ではありません。 誰かから聞く最も一般的な健康アドバイスの一つは、「脂肪を食べない」または「あなたの食事から脂肪を禁止する」です。 ただし、このアドバイスは完全に正確または健康的ではありません。 脂肪は体の重要な部分です。 誰もが自分の体に脂肪を持っていますが、体が生成することができない脂肪のいくつかの種類があります。 したがって、これらの脂肪は私たちが食べる食物から得なければなりません。 脂肪は体にエネルギーを供給します。 それらは必須脂肪酸の源であり、それは食事要求の重要な部分です。 脂肪は脂溶性のビタミンA、D、E、およびKの吸収を促進するのにも役立ちます。 これは、脂肪が存在しない場合、それらが消化、吸収、または体内で輸送され得ないことを意味します。 さらに、脂肪は健康な肌や髪を維持するのにも重要な役割を果たします。 また、体の臓器をショックから守り、体温を維持し、健康な細胞機能を促進します。 加えて、脂肪は、これらの物質が脂肪で希釈され得、そしてそれらがそのように損傷し得る器官に到達しないようにし得る
  • との差: 例によるCとC ++の違い プログラミング言語

    例によるCとC ++の違い プログラミング言語

    主な違い: CとC ++は2つの異なるコンピュータプログラミング言語です。 C ++はCプログラミング言語から開発されました。 しかし、それらは性質がかなり異なります。 最も明白な違いは、Cは手続き指向言語であるのに対し、C ++は手続き型プログラミングとオブジェクト指向プログラミングの両方をサポートしているため、ハイブリッド言語と呼ばれることが多いことです。 CとC ++は2つの異なるコンピュータプログラミング言語です。 Cはもともと1969年から1973年の間にAT&T Bell LabsでDennis Ritchieによって開発されました。C++は別の汎用プログラミング言語です。 それはオリジナルのCプログラミング言語から開発されました。 それは1979年からベル研究所でBjarne Stroustrupによって開発されました。それはCに基づいていたので、もともとC with Classesと呼ばれました。それは1983年にC ++に改名されました。 Cは、現在最も古いプログラミング言語の1つであり、最も広く使用されているプログラミング言語の1つです。 以前はアセンブリ言語でコーディングされていたアプリケーションで常に使用されています。 これには、UNIXコンピュータのオペレーティングシステムが含まれます。 また、Cは、C#、D、Go、Java、JavaScript、L
  • との差: 伝染性と伝染性の違い

    伝染性と伝染性の違い

    主な違い: 感染症は微生物によって引き起こされるため、新しい人に無限に感染する可能性があります。 伝染病は、接触または近接により、ある人から別の人に急速に広がることができる非常に伝染性の疾患です。 最近のエボラ恐怖は多くの人々が彼らの家を出るのを心配しているという結果になっています。 同じような恐怖が時を経て起こっていて、古い黒いペストにさかのぼることができます。 これらの恐怖には、一般大衆をさらに混乱させることが多い一連の科学的な言葉があります。 インターネット上の記事がどのように感染性のあるEbolaであるかについて話すとき、人々は彼らが保護のために自分自身を隔離するべきであるかどうか疑問に思われるままにされます。 伝染性と伝染性は、病気がどのように広がるかを決定するために一般的に使用される2つの単語であり、1つは(他人の保護と安全のために)両者の違いを理解するべきです。 私のヘルスケア専門家はしばしばこの言葉を互換的に使っていますが、彼らは病気や状態が感染性で伝染性である場合にのみ使用します。 用語を定義しましょう。 疾病管理センター(CDC)は、伝染病を「ある人から別の人に接触または近接して急速に広がることができる非常に伝染性の疾患」と定義しています。そして触れること、アイテムや性を共有することによっても。 感染症は、「微生物によって引き起こされ、それゆえ、潜在的に無限に新し
  • との差: Nokia Lumia 920とBlackBerry Z10の違い

    Nokia Lumia 920とBlackBerry Z10の違い

    主な違い: このブランドの最初のスマートフォンの1つがNokia Lumia 920です。NokiaLumia 920は、Windows Phone 8で動作する最初に開発された電話の1つです。2012年11月に主力電話として発売されました。 Blackberry Z10は、Research in Motionによって2013年1月にリリースされた最新のスマートフォンです。 両方の電話は、Androidの侵略と戦うことを目指しています。 ノキアはフィンランドを拠点とする多国籍通信および情報技術企業です。 Nokiaの携帯電話はシンプルで丈夫なものとして知られています。 2012年には、Samsungに続いて、販売台数で世界第2位の携帯電話メーカーとなりました。 しかし、Nokiaの売上は、iPhoneやAndroidなどのスマートフォンへの市場の移行がますます進むにつれて、減少しています。 売上の減少を補うために、NokiaはMicrosoftと提携して、Windows Phone Operating Software上で動作する自社製のスマートフォン、Nokia Lumiaを発売した。 Nokia Lumia 920は、Windows Phone 8上で開発された最初の携帯電話の1つです。2012年11月に主力電話として発売されました。 同時に、NokiaはNokia Lumia
  • との差: 分離と抽出の違い

    分離と抽出の違い

    主な違い :抽出は、化合物の混合物から有機化合物を分離するために使用される方法です。 この技術は1つ以上の化合物を適切な溶媒に選択的に溶解する。 一方、分離プロセスは、化学物質の混合物または溶液を2つ以上の異なる製品混合物に変換する方法です。 分離の結果の少なくとも一つは、原料混合物の一つ以上の成分に富んでいる。 分離 分離とは、混合物中の物質の相対量を変えるプロセスです。 化学的方法では、完全に均一な混合物(溶液)または不均一なサンプル(固体と液体など)から始めることができます。 分離の行為において、一部の粒子はサンプルから部分的または全体的に除去されます。」 私たちの周囲の材料の大部分は2つ以上の成分の混合物です。 混合物は均質または不均質のいずれかである。 均質混合物の組成が均一である場合、不均質混合物はそれらの組成の均一性を欠く。 空気は均質混合物であり、水中油は不均質混合物である。 混合物の成分を分離することは、混合物から既知/未知の物質の性質を見つけ出しそして理解することをより容易にする。 そしてこの利点は人が薬のような有用な物質の生産のためにそれらを多分使用することを可能にする。 混合物中の物質の物理的および化学的性質に応じて、混合物からそれらを単離するために最も適切な分離技術が選択されます。 分離をする理由 Britannica.comによれば、次のように述べています
  • との差: ソニーXperia SとサムスンギャラクシーS3の違い

    ソニーXperia SとサムスンギャラクシーS3の違い

    主な違い: Xperia Sは、スクラッチ防止ガラスの上に飛散防止シートが付いた4.3インチTFTタッチスクリーンを備えています。 ディスプレイは印象的な342 ppiの密度を提供し、1.5 GHzのクアルコムデュアルコアプロセッサを搭載しています。 Galaxy S3は、2012年5月に発売されたスレートフォーマットのマルチタッチスマートフォンです。これは、Galaxy S2とGalaxy Sの後継モデルですが、前身の長方形のデザインを放棄し、Galaxy Nexusに似せた角の丸みを帯びます。 S3は、コーニングゴリラガラス2で4.8 HDスーパーAMOLEDスクリーンを遊ばします。 ソニーはそれ自身がスマートフォンの人気のある製造業者になった有名なエレクトロニクス会社です。 同社は当初、Ericssonと共同で電話を発売しましたが、同社とは別れ、Xperiaブランドを完全に引き継ぎました。 同社は、Xperia Sを含むXperiaラインナップの新しいラインナップを発表しました。XperiaSは、2012年2月に発売され、当時は約520ユーロの高機能電話でした。 Xperia Sは、傷が付きにくいガラスの上に飛散防止シートが付いた4.3インチTFTタッチスクリーンを備えています。 ディスプレイは印象的な342 ppiの密度を提供します。これは携帯電話のリリース時に最高でした。
  • との差: HTC One X +とBlackBerry Z10の違い

    HTC One X +とBlackBerry Z10の違い

    主な違い: HTC One X +は、約312 ppiピクセル密度の4.7インチスーパーLCD 2タッチスクリーンを採用しています。つまり、画面はかなり素晴らしく、ピクセルは表示されません。 このデバイスは、1.7 GHzクアッドコアNVIDIA Tegra 3プロセスを搭載し、オリジナルのHTC One Xよりも高速です。Blackberry Z10は、Research in Motionによって2013年1月にリリースされた最新のスマートフォンです。 Z10は、約355 ppiピクセル密度の4.2インチ静電容量式タッチスクリーンを搭載したバーフォンで、鮮明で鮮明なディスプレイを提供します。 1.5 GHzデュアルコアKrait、16 GBの内部記憶容量と最大64 GBまで拡張可能な容量を持つ2 GBのRAMをサポートする場合。 HTCは人気のあるスマートフォン会社であり、多くの美しくデザインされた電話に人気があります。 携帯電話はスマートで洗練されており、特別なマーケティングの仕掛けはありません。 HTCはHTC One X +の発売とともにこれを維持しています。 HTC One X +は、その兄弟であるHTC One Xと多くの類似点を共有する新しい携帯電

エディターズチョイス

シーア派とイスマイ派の違い

主な違い: シーア派はイスラム教の二つの主要な宗派の一つであり、もう一つはスンニ派である。 Ismailiはシーア派の一部門です。 分割はイマームの選択によるものです。 イスラム教は主な宗派に分かれています:スンニ派とシーア派。 シーア派は神学的および政治的な違いのためにさらに小さな宗派に分けられます。 シーア派の信仰はイマメイトの問題に分割されています。 今日もなお著名であると考えられているシーア派の3つの主要な支店があります:12人のZaidi(Fiver)とIsmaili(Sevener)。 シーア派がこれら3つのブランチにどのように分かれているかを理解する前に、スンニ派とシーア派の違いがどのように形成されたかを理解することが重要です。 ムハンマドの下では、すべてのイスラム教徒は一つと見なされていました。 ムハンマドは神の最後の預言者と見なされています。 違いはムハンマドの死に続きました。 ムハンマドは、イスラム教徒のコミュニティを率いる相続人を正式に宣言することなく死亡した。 Abu Bakr(ムハンマドの義父)とAli(ムハンマドのいとこと義理の息子)の2つの主要な候補がありました。 SunniはAbu Bakrを選んだ。彼は友人であり、指導し助言を与えるCaliphとしてMuhammadの親友だった。 しかし、シーア派は、カリフ帝国はムハンマドの家族の中に留まるべきである