ポリモーフィズムは、オブジェクトが同じ親クラスを持っている場合でも、実行時にオブジェクトが異なる動作をできるようにするオブジェクト指向プログラミング機能です。 C++ では、ポリモーフィズムは仮想関数と継承によって実現されます。基本クラスと派生クラスを定義します。基本クラスには仮想関数が含まれ、派生クラスは基本クラスを継承して仮想関数をオーバーライドします。ポインターまたは参照を使用する: ポインターまたは参照を通じて基本クラス オブジェクトのアドレスを保存し、実行時にさまざまな派生クラスのオブジェクトにアクセスします。仮想関数による呼び出し: 基本クラスで仮想関数を呼び出すと、実行時にオーバーライドされた派生クラス関数が呼び出されます。実際のケース: Shape クラス階層では、Circle クラスと Rectangle クラスが Shape クラスを継承し、area()、perimeter()、draw() 仮想関数をオーバーライドして、これらの形状を C++ のポリモーフィズムの実際のアプリケーションで使用できるようにします
ポリモーフィズムとは何ですか?
ポリモーフィズムは、オブジェクトが同じ親クラスを持っている場合でも、実行時にオブジェクトが異なる動作をできるようにするオブジェクト指向プログラミング言語の機能です。 C++ では、ポリモーフィズムは仮想関数と継承を通じて実現されます。
ポリモーフィズムの使用方法?
基本クラスと派生クラスを定義します: 仮想関数を含む基本クラスを定義します。派生クラスは基本クラスを継承し、仮想関数をオーバーライドしてさまざまな実装を提供します。
class Shape {
public:
virtual double area() = 0;
virtual double perimeter() = 0;
virtual void draw() = 0;
};
class Circle : public Shape {
public:
... // 构造函数和数据成员
virtual double area() override;
virtual double perimeter() override;
virtual void draw() override;
};
class Rectangle : public Shape {
public:
... // 构造函数和数据成员
virtual double area() override;
virtual double perimeter() override;
virtual void draw() override;
};
:
コードを簡素化し、基本クラスと派生クラスを分離したままにします。
コードのスケーラビリティと保守性を向上させます。
実行時にさまざまなオブジェクトを動的に処理できるようにします。以上がポリモーフィズムを使用して C++ の異なるオブジェクト間の違いを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。