阅读量:0
在C语言中,你可以使用typedef
关键字和struct
来创建一个新的数据类型,从而实现数据封装。数据封装是将数据(属性)和行为(方法)包装在一起的一种技术,它可以隐藏对象的内部实现细节,只暴露有限的接口供外部访问。
下面是一个简单的例子,展示了如何使用typedef struct
实现数据封装:
#include <stdio.h> // 定义一个结构体类型 typedef struct { int age; float height; } Person; // 为结构体类型定义一个访问函数(getter) int get_age(Person *p) { return p->age; } float get_height(Person *p) { return p->height; } // 为结构体类型定义一个修改函数(setter) void set_age(Person *p, int new_age) { p->age = new_age; } void set_height(Person *p, float new_height) { p->height = new_height; } int main() { // 创建一个Person对象 Person person; // 使用setter函数设置对象的属性 set_age(&person, 25); set_height(&person, 175.5); // 使用getter函数获取对象的属性 printf("Age: %d\n", get_age(&person)); printf("Height: %.2f\n", get_height(&person)); return 0; }
在这个例子中,我们首先定义了一个名为Person
的结构体类型,它包含两个成员变量:age
和height
。然后,我们为这个结构体类型定义了四个访问函数(getter)和修改函数(setter),分别用于获取和设置age
和height
的值。最后,在main
函数中,我们创建了一个Person
对象,并使用这些函数来访问和修改它的属性。
通过这种方式,我们可以将Person
对象的内部实现细节隐藏起来,只暴露出有限的接口供外部访问。这就是数据封装的基本思想。