Основные принципы объектно-ориентированного программирования
Центральной идеей ООП является реализация понятия «абстракция»[7]. Смысл абстракции заключается в том, что сущность произвольной сложности можно рассматривать, а также производить определенные действия над ней, как над единым целым, не вдаваясь в детали внутреннего построения и функционирования.
При создании программного комплекса необходимо разработать определенные абстракции.
Одним из основных способов создания абстракции является использование концепции иерархической классификации. Ее суть заключается в том, что сложные системы разбиваются на более простые фрагменты.
Практически все сложные системы иерархичны, и уровни их иерархии отражают различные уровни абстракции. Для каждой конкретной задачи рассматривается соответствующий уровень. Выбор низшего уровня абстракции достаточно произволен. Выбранный уровень в одном случае в качестве низшего уровня может оказаться уровнем достаточно высокой абстракции в другом проекте.
Различают типовуюиерархию и структурнуюиерархию, которые далее будут называться соответственно структурой классови структурой объектов.
Во всех объектно-ориентированных языках программирования реализованы следующие основные механизмы(постулаты) ООП[5-6]:
· инкапсуляция,
· наследование,
· полиморфизм.
Все эти механизмы важны для разработки и использования абстракций.
1)Инкапсуляция– механизм, связывающий вместе код и данные, которыми он манипулирует, и одновременно защищающий их от произвольного доступа со стороны другого кода, внешнего по отношению к рассматриваемому. Доступ к коду и данным жестко контролируется интерфейсом.
Основой инкапсуляции при ООП является класс.
Механизм инкапсуляции позволяет оставлять скрытыми от пользователя некоторые детали реализации класса (то есть инкапсулировать их в классе), что упрощает работу с объектами этого класса.
2)Наследование– механизм, с помощью которого один объект (производного класса) приобретает свойства другого объекта (родительского, базового класса). При использовании наследования новый объект не обязательно описывать, начиная с нуля, что существенно упрощает работу программиста. Наследование позволяет какому-либо объекту наследовать от своего родителя общие атрибуты, а для себя определять только те характеристики, которые делают его уникальным внутри класса.
Наследование есть очень важное понятие, поддерживающее концепцию иерархической классификации.
3)Полиморфизм– механизм, позволяющий использовать один и тот же интерфейс для общего класса действий.
2. Классы и объекты в языке С++
Центральным понятием ООП на С++ является класс. Класс используется для описания типа, на основе которого создаются объекты этого типа(переменные типа класс).
Класс, как и любой тип данных, характеризуется множеством значений, которые могут принимать объекты класса, и множеством функций, задающих операции над объектами.
Класс полноценно определяет тип данных как совокупность множества значений и набора операций над этими значениями.
Дата добавления: 2021-07-22; просмотров: 360;