当前位置: 首页> 娱乐> 明星 > 企业在线_平台搭建教程_百度入驻商家_惠州seo网站排名

企业在线_平台搭建教程_百度入驻商家_惠州seo网站排名

时间:2025/7/11 15:45:01来源:https://blog.csdn.net/qq_63922192/article/details/146291898 浏览次数:0次
企业在线_平台搭建教程_百度入驻商家_惠州seo网站排名

前言

  1. 个人邮箱:zhangyixu02@gmail.com
  2. 本文主要是给一些做嵌入式软件开发,并且非计科的朋友做科普。使用 C 语言理解封装、继承、多态等概念。

正文

  1. 基类:最基础的结构体或函数。
  2. 派生类:基类的继承+自己的特性。
  3. 封装:将数据和操作数据的函数结合在一起,隐藏内部实现细节,仅对外提供接口,提高了代码的安全性和可维护性。例如 Animal 结构体中,有数据 name ,还有 speak 操作方法。
  4. 继承:Dog 结构体可以包含 Animal 结构体的成员,从此拥有 namespeak 这两个成员变量。
  5. 多态:通过函数指针实现,给函数指针赋不同的值,用户调用相同的方法 myDog->base.speak(); 能够产生不一样的效果。
#include <stdio.h>
#include <stdlib.h>// 基类,将数据和操作方法结合起来,这个叫做封装
typedef struct {int name;void (*speak)(void);  // 函数指针用于多态,我们给这个函数指针赋值,可以指向多个类型数据
} Animal;// 基类方法
void animal_speak(void) 
{printf("Animal sound\n");
}//     派生类
typedef struct 
{Animal base; // 继承自 Animalint age;     // 自己的特性
} Dog;// 派生类方法
void dog_speak(void) 
{printf("Woof!\n");
}
// 创建 Dog 对象
Dog* create_dog()
{Dog* dog = (Dog*)malloc(sizeof(Dog));dog->base.speak = dog_speak;  // 设置多态行为return dog;
}// 销毁 Dog 对象
void destroy_dog(Dog* dog) {free(dog);
}int main() {// 创建一个 Dog 对象Dog* myDog = create_dog();// 调用多态方法myDog->base.speak();// 销毁 Dog 对象destroy_dog(myDog);return 0;
}
关键字:企业在线_平台搭建教程_百度入驻商家_惠州seo网站排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: