The implements functionality allows a programmer to split a program up into an interface, implemented classes and the actual application. This splitting of the program allows it to be divided up unto parts that several programmers can work on at the same time. It also can be used to generate re-usable code.