组件说明¶
本版块介绍战队自研组件。各组件采用面向对象的思想进行设计,具有模块化特性,且具有一定的可复用、易移植、可拓展性能。
写在前面的¶
- 为保证 CPP 类的封装效果,组件中的类绝大多数属性均为非 public,以避免使用者不小心修改对应属性导致运行出错。其中直接以 public 形式暴露的属性均有 const 修饰
- 而针对使用者需要对某些内部属性进行访问或修改,类提供对特定属性的读取或修改方法。假设类其中有 variable_ 属性,则或提供如:variable 的方法或 set_variable 与 get_variable 的方法对,前者用于只读的属性,而后者用于可读可写的属性。而这些用于访问内部变量的接口作用明显,因此实际使用时组件时还应查看头文件中提供的访问接口
- 为适配不同的内存申请方法,组件中提供了
MemMgr
类,其中重载了类的内存申请与释放方法。因此所有可能会调用内存申请与释放的类与结构体均需为该类的子类,然后便可使用new
与delete
进行内存申请与释放,文档中也会省略所有类均继承自MemMgr
类的说明。对于非类与结构体的变量(如int
、float
等)的内存申请,请使用Allocator
类进行内存申请与释放。
机器人通用组件¶
机器人通用组件源码仓库:https://github.com/ZJU-HelloWorld/HW-Components
机器人通用组件为机器人功能提供软件支持,主要包括算法、设备等可供应用的组件。