C++ は、次のような OOP 原則を具体化しています。 カプセル化: クラスを使用して、データとメソッドをオブジェクトにカプセル化します。継承: 派生クラスが基本クラスからデータと動作を継承できるようにします。ポリモーフィズム: 仮想関数を通じて実装される、オブジェクトの動作をそのタイプに応じて変更できるようにします。
C++ でのオブジェクト指向設計原則の具体化
オブジェクト指向設計 (OOP) は、疎結合、コードの再利用、データのカプセル化を実現することを目的とした一連の原則です。 C++ は、いくつかの主要な OOP 原則を採用するオブジェクト指向プログラミング言語です。
カプセル化
カプセル化とは、データとオブジェクト内のデータを操作するメソッドをカプセル化することを指します。 C++ では、クラスを使用してカプセル化を実現できます。例:
class Person { private: string name; int age; public: Person(string name, int age) : name(name), age(age) {} string getName() { return name; } int getAge() { return age; } };
継承
継承を使用すると、あるクラス (派生クラス) が別のクラス (基本クラス) からデータと動作を継承できます。 C++ では、public
、protected
、および private
アクセス修飾子を使用して、基本クラス メンバーへの派生クラスのアクセスを制御します。例: public
、protected
和 private
访问修饰符来控制派生类对基类成员的访问权限。例如:
class Student : public Person { private: string major; public: Student(string name, int age, string major) : Person(name, age), major(major) {} string getMajor() { return major; } };
多态
多态是指对象的行为可以根据其类型而改变。在 C++ 中,可以使用虚函数来实现多态。例如:
class Animal { public: virtual string makeSound() { return "Unknown"; } }; class Dog : public Animal { public: virtual string makeSound() { return "Woof"; } }; class Cat : public Animal { public: virtual string makeSound() { return "Meow"; } }; // 实战案例 int main() { Animal* animals[] = { new Dog(), new Cat() }; for (Animal* animal : animals) { cout << animal->makeSound() << endl; } return 0; }
在这个例子中,Animal
类是一个基类,它定义了 makeSound()
虚函数。Dog
和 Cat
类是从 Animal
类派生的派生类,它们重写了 makeSound()
方法。主函数创建了一个 Animal
数组,其中包含 Dog
和 Cat
对象的指针。然后,它遍历数组并调用每个对象的 makeSound()
rrreee
Animal
クラスは、makeSound()
仮想関数を定義する基本クラスです。 Dog
クラスと Cat
クラスは、makeSound()
メソッドをオーバーライドする Animal
クラスから派生した派生クラスです。 main 関数は、Dog
オブジェクトと Cat
オブジェクトへのポインターを含む Animal
配列を作成します。次に、配列を反復処理し、各オブジェクトの makeSound()
メソッドを呼び出します。これにより、オブジェクトのタイプに応じて異なるサウンドが出力されます。 🎜以上がC++ でのオブジェクト指向設計原則の具体化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。