4.2.1 基于类型