两者最基本的区别就在done不强调时间先后,而having been done则强调时间先后。
having been done首先是表被动,另外它指的是此动作发生在谓语动词的动作之前。如:Having been used for many years, the bike needs repairing.(使用的动作发生在修理之前,所以用到了having been done的形式)
而done只是表示被动和完成,如:Used as a means of traffic in China, the bike is very useful (此句中自行车与使用之间存在被动关系,所以直接使用了done的形式)又如:Told several times, he couldn't understand what I meant.(此句中的他与告诉之间的关系是被动,而且是已经被告诉过了,动作已经完成,所以直接使用done的形式了。)