C++中的面向对象编程与设计模式

本文最后更新于:2023年9月17日 晚上

标题:C++中的面向对象编程与设计模式

简介:
面向对象编程(Object-Oriented Programming, OOP)是一种程序设计范式,它将程序组织为对象的集合,每个对象拥有特定的属性和行为。设计模式是一些通用的解决问题的方式。

正文:

1. 类与对象

类是定义了数据和方法的模板,对象是类的实例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Person {
public:
std::string name;
int age;

void introduce() {
std::cout << "Name: " << name << ", Age: " << age << std::endl;
}
};

Person person1;
person1.name = "John";
person1.age = 30;
person1.introduce();

2. 封装与继承

封装是将数据和操作封装在一个单元中,只暴露必要的接口。继承允许一个类继承另一个类的属性和方法。

1
2
3
4
5
6
7
8
9
10
class Student : public Person {
public:
int studentID;
};

Student student1;
student1.name = "Jane";
student1.age = 20;
student1.studentID = 12345;
student1.introduce();

3. 多态与虚函数

多态允许一个方法具有多个形式,虚函数是在基类中声明为虚函数的函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
class Shape {
public:
virtual void draw() {
std::cout << "Drawing Shape" << std::endl;
}
};

class Circle : public Shape {
public:
void draw() override {
std::cout << "Drawing Circle" << std::endl;
}
};

4. 设计模式

设计模式是解决特定类型问题的通用方法。例如,单例模式、工厂模式、观察者模式等。

1
2
3
4
5
6
7
8
9
class Singleton {
private:
Singleton() {}
public:
static Singleton& getInstance() {
static Singleton instance;
return instance;
}
};

5. RAII与智能指针

RAII是一种资源管理的编程技巧,智能指针是RAII的一种实现方式,它可以自动释放资源。

1
std::unique_ptr<int> smartPtr = std::make_unique<int>(5);

结论:

面向对象编程是一种强大的程序设计范式,它将程序组织为对象的集合,使得代码更加模块化和易于维护。设计模式提供了一些通用的解决问题的方式,可以在软件开发中得到应用。


C++中的面向对象编程与设计模式
https://jinbilianshao.github.io/2023/09/17/C-中的面向对象编程与设计模式/
作者
连思鑫
发布于
2023年9月17日
许可协议