· небольшое число точек разреза (интерфейсов) (адекватная гранулированность проекта системы),
· простота интерфейса (простота точек разреза, их адекватный выбор),
· явное описание интерфейса,
· упрятывание информации о реализации (принцип инкапсуляции).
Честолюбивая цель объектной ориентированности состоит в обеспечении широкого повторного использования программ, проектов, архитектур, спецификаций и концепций с помощью схематизации образа действий. При этом внедряются следующие категории схем:
· схема объявлений типов,
· схема родственных вычислительных структур (типы и алгоритмы),
· схема для вычислительных предписаний.
На переднем плане стоит осознание структурных и поведенческих общностей с целью:
· независимость представления (упрятывание информации),
· использование общностей родственных единиц.
Многократное использование поддерживается следующими концепциями:
· перезафузки (англ. overloading) операторов,
· наследования,
· полиморфизма,
· инкапсулированных, параметризуемых, генерируемых структур.
В объектной ориентированности присутствует как параметрический полиморфизм, так и ad-hoc-полиморфизм (перекрытие).
В параметрическом полиморфизме используются те же самые тела функций и, соответственно, процедур, которые работают с объектами различных типов. В ad-hoc-полиморфизме
существенно используются одинаковые обозначения функций и процедур, но с различными их телами. При этом идентификация вычислительных предписаний может осуществляться либо статически, во время трансляции, либо динамически, в процессе выполнения программы, в зависимости от типов аргументов (англ.