have done和have been done 的区别

如题所述

have 是 完成式的标志,have 后面谓语动词要用现在完成式
have done 是主动形式的现在完成式.
如 I have finished my homework.我已经完成我的作业了.是 “我” 主动完成的.谓语动词finished 是现在完成式
be done 是被动形式,而have 后面要用完成式,谓语动词 be (就是be 动词) 的现在完成式 是been,所以才有have been done
如,The classrooms have been cleaned.教室被打扫干净了.be cleaned 被打扫,现在完成式就是 have been cleaned
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-12
have done是现在完成时的主动语态,表示从过去某个时间点一直持续到现在一直在做某一件事;
have been done 是现在完成时的被动语态,表示从过去某个时间点到现在一直被做某事。本回答被提问者和网友采纳
第2个回答  2016-10-26
have been doing 是现在完成进行时,表过去发生的动作一直在进行到现在。
have done 是现在完成时,表在过去发生的动作对现有影响。
主要区别是have been doing 表示动作从过去一直持续到现在,并会继续下去。
第3个回答  2018-12-18
一个是主动,一个是被动。
第4个回答  2018-03-11
have done是现在完成时的主动语态,表示在过去某个时间点做完了某一件事;
have been done 是现在完成时的被动语态,表示在过去某个时间点已经被完成;
have been doing 是现在完成进行时,表示从过去某个时间点到现在一直被做某事。
相似回答