Heim > Backend-Entwicklung > C++ > Hauptteil

Verkörperung objektorientierter Designprinzipien in C++

WBOY
Freigeben: 2024-06-01 21:51:00
Original
1139 Leute haben es durchsucht

C++ verkörpert OOP-Prinzipien, darunter: Kapselung: Verwenden Sie Klassen, um Daten und Methoden in Objekten zu kapseln. Vererbung: Ermöglicht abgeleiteten Klassen, Daten und Verhalten von Basisklassen zu erben. Polymorphismus: Ermöglicht die Änderung des Verhaltens eines Objekts je nach Typ, implementiert durch virtuelle Funktionen.

Verkörperung objektorientierter Designprinzipien in C++

Verkörperung objektorientierter Designprinzipien in C++

Objektorientiertes Design (OOP) ist eine Reihe von Prinzipien, die darauf abzielen, lose Kopplung, Code-Wiederverwendung und Datenkapselung zu erreichen. C++ ist eine objektorientierte Programmiersprache, die mehrere wichtige OOP-Prinzipien übernimmt.

Kapselung

Kapselung bezieht sich auf die Kapselung von Daten und Methoden zum Betreiben von Daten in Objekten. In C++ kann die Kapselung mithilfe von Klassen erreicht werden. Zum Beispiel:

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; }
};
Nach dem Login kopieren

Inheritance

Inheritance ermöglicht einer Klasse (abgeleitete Klasse), Daten und Verhalten von einer anderen Klasse (Basisklasse) zu erben. Verwenden Sie in C++ die Zugriffsmodifikatoren public, protected und private, um den Zugriff abgeleiteter Klassen auf Basisklassenmitglieder zu steuern. Zum Beispiel: 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; }
};
Nach dem Login kopieren

多态

多态是指对象的行为可以根据其类型而改变。在 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;
}
Nach dem Login kopieren

在这个例子中,Animal 类是一个基类,它定义了 makeSound() 虚函数。DogCat 类是从 Animal 类派生的派生类,它们重写了 makeSound() 方法。主函数创建了一个 Animal 数组,其中包含 DogCat 对象的指针。然后,它遍历数组并调用每个对象的 makeSound()rrreee

🎜Polymorphismus🎜🎜🎜Polymorphismus bedeutet, dass sich das Verhalten eines Objekts je nach Typ ändern kann. In C++ kann Polymorphismus mithilfe virtueller Funktionen erreicht werden. Zum Beispiel: 🎜rrreee🎜In diesem Beispiel ist die Klasse Animal eine Basisklasse, die die virtuelle Funktion makeSound() definiert. Die Klassen Dog und Cat sind abgeleitete Klassen, die von der Klasse Animal abgeleitet sind und die Methode makeSound() überschreiben. Die Hauptfunktion erstellt ein Animal-Array, das Zeiger auf Dog- und Cat-Objekte enthält. Anschließend wird das Array durchlaufen und die Methode makeSound() jedes Objekts aufgerufen. Dadurch werden je nach Objekttyp unterschiedliche Töne ausgegeben. 🎜

Das obige ist der detaillierte Inhalt vonVerkörperung objektorientierter Designprinzipien in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage