ホームページ  >  記事  >  バックエンド開発  >  C++ でのオブジェクト指向設計原則の具体化

C++ でのオブジェクト指向設計原則の具体化

WBOY
WBOYオリジナル
2024-06-01 21:51:001065ブラウズ

C++ は、次のような OOP 原則を具体化しています。 カプセル化: クラスを使用して、データとメソッドをオブジェクトにカプセル化します。継承: 派生クラスが基本クラスからデータと動作を継承できるようにします。ポリモーフィズム: 仮想関数を通じて実装される、オブジェクトの動作をそのタイプに応じて変更できるようにします。

C++ でのオブジェクト指向設計原則の具体化

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++ では、publicprotected、および private アクセス修飾子を使用して、基本クラス メンバーへの派生クラスのアクセスを制御します。例: publicprotectedprivate 访问修饰符来控制派生类对基类成员的访问权限。例如:

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() 虚函数。DogCat 类是从 Animal 类派生的派生类,它们重写了 makeSound() 方法。主函数创建了一个 Animal 数组,其中包含 DogCat 对象的指针。然后,它遍历数组并调用每个对象的 makeSound()rrreee

🎜ポリモーフィズム🎜🎜🎜ポリモーフィズムとは、オブジェクトの動作がその型に応じて変化する可能性があることを意味します。 C++ では、仮想関数を使用してポリモーフィズムを実現できます。例: 🎜rrreee🎜 この例では、Animal クラスは、makeSound() 仮想関数を定義する基本クラスです。 Dog クラスと Cat クラスは、makeSound() メソッドをオーバーライドする Animal クラスから派生した派生クラスです。 main 関数は、Dog オブジェクトと Cat オブジェクトへのポインターを含む Animal 配列を作成します。次に、配列を反復処理し、各オブジェクトの makeSound() メソッドを呼び出します。これにより、オブジェクトのタイプに応じて異なるサウンドが出力されます。 🎜

以上がC++ でのオブジェクト指向設計原則の具体化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。