move privice to abs
将部分私有方法转到基类中