谢谢斑竹。我需要再理解理解。
“前一个 class 里面要包含后一个 class 的实例”,是指:“在xxx_API_Class的定义中用xxx_DRV_Class定义出一个对象(实例),作为xxx_API_Class的成员变量”吗? 将xxx_DRV_Class写为抽象类,形成接口标准,具体的设备驱动都必须继承这个抽象类,这样程序使用和阅读都比较规范了。
这个接口它调用的是 driver 的 write 接口,也就是 for i=1 to 7 driver.write (i);
那么以后我将这个程序移植到其他开发板上的时候,只需要修改 Led_DRV_Class 的实现,而不需要改动 Led_DRV_Class ; 甚至可以用 Beep_DRV_class 来定义 driver ,这样 跑马灯的效果就变成了发出 Do Re Mi Fa So La Xi 的声音了,同样的,我们也可以把一首歌曲的音乐变成各种输出设备的输出,包括 led、seg7 或者 lcd ,只要添加相应的 driver 就可以了。