An interface defines the contract of a class, so there is one class that implements DataAdapter for Windows, one for Mac and so on (because each OS implements file operations slightly differently, but we don’t need to care about that because the APi takes care of that).
I just said class because I messed up.