Объектная ориентированность пытается претворить в жизнь общие принципы разработки программного обеспечения и программ с помощью учета конкретных способов разработки и использования вполне определенных средств описания. Исторически объектная ориентированность восходит к языкам программирования Simula-67 и Smalltalk. В настоящее время одним из наиболее употребительных на практике языков этого типа является C++.
Для обычных фаз разработки программ характерны следующие моменты объектной ориентированности:
· объектно-ориентированный анализ,
· объектно-ориентированный проект,
· объектно-ориентированное программирование.
Это образование понятий проистекает из классического разбиения процесса разработки программного обеспечения на отдельные фазы. На фазе анализа выясняется специфика применения с целью охватить требования к разрабатываемой программной системе. На фазе проектирования вырабатывается структура системы (ее архитектура). На фазе реализации программируются части системы, предусмотренные в проекте. В дальнейшем будет рассмотрено прежде всего объектно-ориентированное программирование (00-программирование).
При 00-программировании опираются на следующие концепции:
· инкапсуляция данных,
· классы и наследование,
· объекты и воплощение (динамическое создание новых объектов),
· вызов методов и обмен сообщениями.
Эти концепции далее будут объяснены. Объектная ориентированность, между прочим, является попыткой внедрить более эффективные и адекватные методы описания, модели и инструментарий в технологию программирования.
Объектная ориентированность нацелена на то, чтобы воплотить общие принципы проектирования программных систем и программ в конкретные методики разработки и моделирования со специфичной нотационной поддержкой. 00-программирование при этом делает акцент на следующие цели: