\r\n\r\n

ポリモルフィズムとoopにおける継承の違い

オブジェクト指向プログラミング(OOP)は、ソフトウェア開発における一般的なアプローチです。多くのプログラミング言語がオブジェクト指向プログラミングをサポートしています。オブジェクト指向プログラミングは、クラスとオブジェクトを使ってプログラムを設計する方法です。クラスには、プロパティとメソッドがあります。オブジェクトはクラスのインスタンスである。OOPには、継承、ポリモーフィズム、抽象化、カプセル化という4つの柱がある。この記事では、oopにおけるポリモーフィズムと継承の違いについて説明します。 oopにおけるポリモーフィズムと継承の主な違いは、ポリモーフィズムがオブジェクトが複数の振る舞いをする能力であるのに対し、継承は既存のクラスのプロパティとメソッドを使用して新しいクラスを作成することである...

主な違い - oopにおける多型性と遺伝性

オブジェクト指向プログラミング(OOP)は、ソフトウェア開発における一般的なアプローチです。多くのプログラミング言語がオブジェクト指向プログラミングをサポートしています。オブジェクト指向プログラミングは、クラスとオブジェクトを使ってプログラムを設計する手法です。オブジェクト指向におけるクラスは、オブジェクトを作成するための設計図です。クラスには、プロパティとメソッドがあります。OOPは、継承、ポリモーフィズム、抽象化、カプセル化の4つの柱で構成されています。この記事では、OOPにおけるポリモーフィズムと継承の違いについて説明します。OOPにおけるポリモーフィズムと継承の重要な違いは、ポリモーフィズムがオブジェクトが複数の振る舞いをする能力であるのに対し、継承は既存のクラスのプロパティとメソッドを使用して新しいクラスを作成することである点です。

カタログ

1. 概要と主な相違点 2. OOPにおけるポリモーフィズムとは 3. OOPにおける継承とは 4. OOPにおけるポリモーフィズムと継承の類似点 5. 横並びの比較 - OOPにおけるポリモーフィズムと継承の表形式 6. まとめ

oopにおけるポリモルフィ**(polymorphi** in oop)は何ですか?

ポリモーフィズムとは、複数の形態を指す。オブジェクトは複数の振る舞いを持つことができる。ポリモーフィズムは2つのカテゴリに分けられる。

オーバーロード

Javaで書かれた次のプログラムを参照してください。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

図01:オーバーロード

上記のプログラムに従い、A型のオブジェクトを作成する。target amount (); を呼び出すと、sum() メソッドに関連する出力が得られます。target amount (2,3) を呼び出すと、sum(int a, int b)に関連した出力が得られる。同じものでも、状況によって挙動が異なることが観察されます。同じ名前でパラメータが異なるメソッドが複数存在することをオーバーロードと呼びます。静的バインディング、コンパイル時ポリモーフィズムとも呼ばれる。

圧倒的な存在感

ポリモーフィズムのもう一つのタイプは,Javaで書かれた次のプログラムを参照すると,書き換えられる。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

図02:オーバーレイ

上のプログラムによると、クラス a には display() というメソッドがあり、クラス B はクラス a から拡張されているので、クラス a のすべてのメソッドをクラス B からアクセスすることができます。継承の概念については、後でさらに説明します。

クラスBも同じdisplay()メソッドを持っています。A型のオブジェクトを生成してdisplayメソッドを呼び出すと、B型として出力されます。Aクラスのdisplayメソッドは、Bクラスのdisplayメソッドにオーバーライドされます。したがって、出力はBとなります。

同じ名前とパラメータを持つメソッドが2つの異なるクラスにあり、それらが継承によって結ばれていることをオーバーライドと呼びます。レイトバインディング、ダイナミックバインディング、ランタイムポリモーフィズムなどとも呼ばれる。オーバーロードやオーバーライドをポリモーフィズムと呼びます。オブジェクト指向プログラミングの重要な概念である。

oopにおける継承は何ですか?

Javaで書かれた次のプログラムを参照してください。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

図03:継承の例

上記のプログラムによると、クラスAはsum()メソッドを、クラスBはsub()メソッドを持つ。

クラスAのsum()メソッドは、extendキーワードを使ってクラスBで使用することができます。既存のクラスのプロパティやメソッドを再利用して、新しいクラスを作ることを継承といいます。クラスBにsum()メソッドがなくても、クラスAから継承されている。コードの再利用性を高めるために、継承は有効です。古いクラスは、ベースクラス、スーパークラス、親クラスと呼ばれます。派生したクラスは、サブクラスまたはサブカテゴリと呼ばれます。

承継の種類

継承には、単一レベル継承、多レベル継承、多重継承、階層継承、混合継承がある。

シングルサクセション

単一継承では、スーパークラスとサブクラスが存在します。クラスAをスーパークラス、クラスBをサブクラスとすると、クラスBはクラスAのすべてのプロパティとメソッドにアクセスすることができます。

マルチレベルの継承

多段階継承では、3つのレベルのクラスが存在する。中間クラスは、スーパークラスを継承する。サブクラスは、中間クラスを継承する。A、B、Cの3つのクラスがある場合、Aはスーパークラス、Bは中間クラスとなります。そして、BはAを、CはBを継承する。これが多段階継承である。

多重継承

多重継承では、多くのスーパークラスと1つのサブクラスが存在する。C++では多重継承がサポートされていますが、JavaやCのようなプログラミング言語ではサポートされていません。これらの言語では、多重継承を実現するためにインターフェイスが使用されます。

グレード継承

スーパークラスと呼ばれるクラスがあり、BとCがサブクラスである場合、これらのサブクラスはクラスAのプロパティとメソッドを継承することができます。このような継承を階層的継承と呼びます。

ハイブリッド遺伝学

もう一つ、混合相続という特殊な相続があります。多階層と多重継承の組み合わせである。A、B、C、Dがクラスで、BがAを、DがBとCを継承する場合、混合継承になります。

多形性(ポリモルフィ**)とoopにおける継承の共通点

  • どちらもオブジェクト指向プログラミングの概念である。

多形性(ポリモルフィ**)とoopにおける継承の違い

OOPにおけるポリモーフィズムとインヘリタンス
ポリモーフィズムとは、あるオブジェクトが複数の振る舞いをする能力のことである。 継承とは、既存のクラスのプロパティとメソッドを使用して新しいクラスを作成することです。
使用方法
ポリモーフィズムは、コンパイル時や実行時にオブジェクトがどの形式のメソッドを呼び出すかに利用されます。 コードの再利用性を高めるために、継承を行う。
インプリメンテーション
ポリモーフィズムはメソッドに実装されています。 継承はクラスで実装されます。
カテゴリー
ポリモーフィズムは、オーバーロードと上書きに分けられる。 継承は、単一レベル継承、多レベル継承、階層継承、混合継承、多重継承に分類される。

概要 - 多形性(ポリモルフィ**) vs. oopにおける継承

オブジェクト指向プログラミングにおいて、ポリモーフィズムと継承は重要な概念である。OOPにおけるポリモーフィズムと継承の違いは、ポリモーフィズムが複数の形態に対する汎用的なインタフェースであるのに対し、継承は既存のクラスのプロパティとメソッドを用いて新しいクラスを作成することである。この2つの概念は、ソフトウェア開発において広く用いられている。

ダウンロード PDF OOPにおけるポリモーフィズムと継承の比較

引用
    8.3什么是Java中的继承|讲座|教程,Telusko Learning,2014年5月15日。此处提供Java多态性教程,Telusko Learning,2014年5月15日。此处提供
  • 2020-10-19 21:16 に公開
  • 閲覧 ( 30 )
  • 分類:IT

あなたが興味を持っているかもしれない記事

匿名者
匿名者

0 件の投稿

作家リスト

  1. admin 0 投稿
  2. 匿名者 0 投稿

おすすめ