A crucial difference is interfaces may have properties but not fields. This, to me, underlines that properties really should be used to outline a class's public interface even though fields are meant to be used in the non-public, inner workings of a class. Being a rule I not often make https://diigo.com/0106z32