实现extend函数