在制作框架的时候,常常一个对象会拥有多种状态
例如:
对象为人,含有三种状态,年轻、个高、漂亮
需要用到的时候,就再或一下,进行比对原数据,若数据不变,则包含这种状态
//kotlin
companion object {
val young = 0x00000002
val tall = 0x00000004
val pretty = 0x00000008
}
var flag = 0
/**
* 往flag 添加不同的状态
* @param data Int
*/
fun addFlag(data: Int) {
flag = flag or data
}
/**
* 判断当前是否含有某种转台
* @param data Int
*/
fun containFlag(data: Int): Boolean {
return flag == flag or data
}