对面向对象编程来说,一切都是对象,对象用类来描述。
类把对象的数据和操作数据的方法作为一个整体考虑。
定义类的语法:
class 类名
{
public:
成员一的数据类型 成员名一;
成员二的数据类型 成员名二;
成员三的数据类型 成员名三;
......
成员n的数据类型 成员名n;
};
注意:
通过这个简单的示例,可以看到类如何将数据(属性)和操作这些数据的方法(行为)封装为一个整体。这是面向对象编程(OOP)的核心特性之一,它帮助程序员组织和管理复杂的软件系统,同时提高代码的重用性和可维护性。
- 类的成员可以是变量,也可以是函数。
- 类的成员变量也叫属性。
- 类的成员函数也叫方法/行为,类的成员函数可以定义在类的外面。
- 用类定义一个类的变量叫创建(或实例化)一个对象。
- 对象的成员变量和成员函数的作用域和生命周期与对象的作用域和生命周期相同。
#include <iostream> #include <string> // 定义Person类 class Person { public: // 成员变量(属性) std::string name; // 人的名字 int age; // 人的年龄 // 成员函数(方法) void setData(std::string n, int a) { name = n; age = a; } void displayInfo() const { std::cout << "Name: " << name << std::endl; std::cout << "Age: " << age << std::endl; } }; int main() { Person person; // 创建(实例化)一个Person对象 // 设置对象的属性 person.setData("John Doe", 30); // 调用对象的方法 person.displayInfo(); return 0; }
代码解释
-
类定义:
class Person
定义了一个名为Person
的类。- 在
public:
区块中定义了两个成员变量和两个成员函数,确保它们可以在类的外部被访问。
-
成员变量:
std::string name;
和int age;
是Person
类的属性,用于存储个人的名字和年龄。
-
成员函数:
void setData(std::string n, int a)
是一个方法,用于设置Person
对象的名字和年龄。void displayInfo() const
是一个常量成员函数,用来显示Person
对象的名字和年龄。常量方法表示该函数不会修改类的任何成员变量。
-
主函数中的类使用:
- 在
main
函数中,通过创建Person
类的一个对象person
。 - 使用
setData
方法为对象设置属性。 - 使用
displayInfo
方法显示对象的信息。
- 在