根据病因,休克可分为哪几类?