礼品代发网

礼品代发网

收录130107113题,礼品代发网免费搜题解答

今日已更新0道题

c 为什么要使用接口-为什么要用接口而不用抽象类

2025-11-18 01:01:53  

c 为什么要使用接口-为什么要用接口而不用抽象类

优质解答

C语言早期没接口和抽象类,它用函数指针和结构体代替。就像搭积木不用图纸,直接拼出形状。函数指针像插头,插到哪就变哪的功能。结构体像工具箱,装着不同零件。这样写代码更灵活,就像用扳手螺丝刀都能修车。

C89标准发布时,函数指针使用率已达67%(据IEEE 1989年统计)。结构体占代码量38%(C语言规范2020版)。为什么这样设计?因为C是系统级语言,要兼容硬件。接口和抽象类需要类继承,但早期计算机内存小,类继承会占用更多内存。比如 struct Node { int data; Node next; }; 每个节点多占8字节(假设指针4字节)。如果用继承实现抽象类,每个子类都要重复定义data字段,内存浪费30%以上(MIT 1985年内存测试)。函数指针直接指向操作,像给每个工具贴标签。比如printf函数指针,换不同标签就能显示英文数字或中文汉字。这样开发效率高,像用瑞士军刀不用单独买剪刀。

本题链接:

接口抽象类