remove redundant codes by using inheritance

修改 通过使用继承，删除冗余代码