重構 General 類別