以类图,顺序图为切入点分析键盘使用原理。
1.1 AbstractKeyboard与Keyboard 类图中AbstractKeyboard继承于QWidget,而Keyboard则继承于AbstractKeyboard。
或许有人会问,为什么Keyboard直接继承于QWidget这样更简单直接? 这里看情况,在单个键盘的情况下这种做法是简单直接。如何是存在多个键盘(数字键盘,字母键盘等),我们需要切换起来就会变得很麻烦。
AbstractKeyboard提供name
与setName
接口是为了标识多个键盘的情况。
类图
1.2 Keyboard与KeyButton
1.3 KeyButton与KeyMode