C++는 다음을 포함한 OOP 원칙을 구현합니다. 캡슐화: 클래스를 사용하여 객체의 데이터와 메서드를 캡슐화합니다. 상속: 파생 클래스가 기본 클래스에서 데이터와 동작을 상속할 수 있습니다. 다형성(Polymorphism): 가상 함수를 통해 구현된 객체의 유형에 따라 객체의 동작이 변경되도록 허용합니다.
C++에서 객체 지향 설계 원칙 구현
객체 지향 설계(OOP)는 느슨한 결합, 코드 재사용 및 데이터 캡슐화를 달성하기 위한 일련의 원칙입니다. C++는 몇 가지 주요 OOP 원칙을 채택하는 객체 지향 프로그래밍 언어입니다.
Encapsulation
Encapsulation은 데이터를 캡슐화하고 객체에 데이터를 조작하는 방법을 말합니다. 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
클래스에서 파생된 파생 클래스입니다. 기본 함수는 Dog
및 Cat
개체에 대한 포인터를 포함하는 Animal
배열을 만듭니다. 그런 다음 배열을 반복하고 각 객체의 makeSound()
메서드를 호출합니다. 그러면 개체 유형에 따라 다른 소리가 인쇄됩니다. 🎜위 내용은 C++의 객체지향 디자인 원칙 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!