重新规划层次，更加灵活，使用protrol让每个子类表现出多态