Язык программирования называется объектно-ориентированным, если
• есть поддержка объектов как абстракций данных, имеющих
интерфейсную часть в виде поименованных операций, и защищенную область
локальных данных;
• все объекты относятся к соответствующим типам (классам);
• классы могут наследовать от суперклассов.
• любые данные хранятся как объекты, размещаемые с автоматическим
выделением и освобождением памяти. Объект существует с системе до тех
пор, пока его можно именовать.
Основные принципы ООП:
1. Инкапсуляция.
Концепция сокрытия в как бы "капсуле" всей информации об объекте, то
есть объединение в некое целое данных и процедур (методов) их
обработки. Единицей инкапсуляции в OOD является объект, в котором
содержатся и данные состояния объекта и сообщения, которые объект может
обрабатывать.
2. Наследование.
Получение от предшественника - такое соотношение между классами,
находящимися в некоторой определенной иерархии, при которой один класс
моделирует поведение и свойства другого класса, добавляя свою
специфику. Класс поведение которого наследуется называется
суперклассом, а класс, который наследует поведение, называется
подклассом.
3. Полиморфизм.
Возможность единообразного обращения (посылки объектам одноименных
сообщений) при сохранении уникального поведения объектов. Другими
словами, поскольку поведение объектов определяется методами, метод,
ассоциированный с одним и тем же именем сообщения, допускает различные
реализации для разных классов.
Созданный проект превращается в программный продукт в процессе
Объектно-ориентированного программирования - такой методологии
программирования, которая основана на представлении программного
продукта в виде совокупности объектов, каждый из которых является
слепком (экземпляром) определенного класса, а классы образуют иерархию
на принципах наследования. Таким образом, при Объектно-ориентированном
подходе исчезает понятие исполняемой программы. Решение поставленной
задачи сводится к построению необходимых классов, и управлению
создаваемыми ими объектами-экземплярами.
Фундаментальная концепция OOП состоит в том, что объекты и классы
взаимодействуют друг с другом путем передач
и сообщений. Для этого необходимо, чтобы объекты определялись вместе с
сообщениями, на которые они реагируют, в отличии от процедурного стиля
программирования, когда сначала определяются данные, которые затем
передаются в процедуры (функции) как параметры. При этом средством
программирования выступает один из Объектно-ориентированных языков
программирования.