封装思想例子
#include <stdio.h>
// 定义一个矩形结构体
typedef struct {
double length;
double width;
} Rectangle;
// 封装函数:计算矩形的面积
double calculateArea(Rectangle rect) {
return rect.length * rect.width;
}
// 封装函数:计算矩形的周长
double calculatePerimeter(Rectangle rect) {
return 2 * (rect.length + rect.width);
}
int main() {
// 创建一个矩形对象
Rectangle rect;
rect.length = 5.0;
rect.width = 3.0;
// 使用封装的函数计算矩形的面积和周长
double area = calculateArea(rect);
double perimeter = calculatePerimeter(rect);
// 输出结果
printf("Area: %.2f\n", area);
printf("Perimeter: %.2f\n", perimeter);
return 0;
}
我们定义了一个矩形的结构体 Rectangle,其中包含 length 和 width 两个数据成员。通过封装函数 calculateArea() 和 calculatePerimeter(),我们实现了计算矩形面积和周长的功能。
在 main() 函数中,我们创建了一个矩形对象 rect,并设置其长度和宽度。然后使用封装的函数来计算矩形的面积和周长,并将结果输出到控制台上。
通过将矩形对象的数据和相关操作封装在一起,我们可以使用封装函数来操作矩形,而不需要直接访问矩形的数据成员。这样可以隐藏内部的实现细节,提高代码的可读性和可维护性。
需要注意的是,这只是一个简单的示例,实际的封装可能涉及更多的数据和功能。封装的目的是提供一个清晰、简洁的接口,将实现细节隐藏起来,以方便使用和维护。
// 定义一个矩形结构体
typedef struct {
double length;
double width;
} Rectangle;
// 封装函数:计算矩形的面积
double calculateArea(Rectangle rect) {
return rect.length * rect.width;
}
// 封装函数:计算矩形的周长
double calculatePerimeter(Rectangle rect) {
return 2 * (rect.length + rect.width);
}
int main() {
// 创建一个矩形对象
Rectangle rect;
rect.length = 5.0;
rect.width = 3.0;
// 使用封装的函数计算矩形的面积和周长
double area = calculateArea(rect);
double perimeter = calculatePerimeter(rect);
// 输出结果
printf("Area: %.2f\n", area);
printf("Perimeter: %.2f\n", perimeter);
return 0;
}
我们定义了一个矩形的结构体 Rectangle,其中包含 length 和 width 两个数据成员。通过封装函数 calculateArea() 和 calculatePerimeter(),我们实现了计算矩形面积和周长的功能。
在 main() 函数中,我们创建了一个矩形对象 rect,并设置其长度和宽度。然后使用封装的函数来计算矩形的面积和周长,并将结果输出到控制台上。
通过将矩形对象的数据和相关操作封装在一起,我们可以使用封装函数来操作矩形,而不需要直接访问矩形的数据成员。这样可以隐藏内部的实现细节,提高代码的可读性和可维护性。
需要注意的是,这只是一个简单的示例,实际的封装可能涉及更多的数据和功能。封装的目的是提供一个清晰、简洁的接口,将实现细节隐藏起来,以方便使用和维护。
全部评论
加油
相关推荐