You can put the ServiceContract and OperationContract attributes in a class, but this is considered bad practice. Better to abstract away from the interface and then put the attributes (contract-related, not implementation-related as they are in WCF) in the contract.
source
to share