В настоящее время я изучаю ZeroC ICE и ничего не понимаю: в чем реальная разница между интерфейсом и классом? Я знаю, что у интерфейса не может быть атрибутов и только операции, но я не понимаю, почему мы должны использовать интерфейсы вместо классов, когда мы используем только операции. В документации Ice есть такое объяснение: https://doc.zeroc.com/display/Ice36/Architectural+Implications+of+Classes#ArchitecturalImplicationsofClasses-ClasseswithOperations (см. Классы с операциями).
«Но имейте в виду, что, как только вы используете классы с операциями, вы, по сути, используете собственный код на стороне клиента, и, следовательно, вы больше не можете наслаждаться прозрачностью реализации, обеспечиваемой интерфейсами».
Какая реализация прозрачна? Может ли кто-нибудь объяснить мне?
Спасибо.