Курс ООП в С презентация. ООП в с++(полный курс). Объекты и классы
Скачать 1.76 Mb.
|
С++: Объектно-ориентированное программирование Объекты и классы Объекты и классыИдея классов отражает строение объектов реального мира — каждый предмет или процесс обладает набором характеристик или отличительных черт, иными словами, свойствами и поведением. Объект является автономным действующим лицом в системе. Реальными кандидатами на роли объектов обычно выступают люди, места, вещи, организации, концепции и события. Объект обладает состоянием, поведением и идентичностью; структура и поведение схожих объектов определяет общий для них класс. Класс является определяемым пользователем абстрактным типом данных, описывающим свойства и поведение какого-либо предмета или процесса посредством полей данных (аналогично структуре) и функций для работы с ними. Основные принципы объектно-ориентированного программирования Основные принципы ООПАбстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить существенные особенности поведения от несущественных. Существуют различные типы абстракций, начиная с объектов, которые почти точно соответствуют физическим объектам предметной области, и, заканчивая объектами, которые не могут существовать в реальном мире.
Основные принципы ООППроцесс отделения друг от друга элементов объекта, определяющих его устройство и поведение, называется инкапсуляцией. Инкапсуляция служит для того, чтобы изолировать контрактные обязательства абстракции от их реализации. Чаще всего инкапсуляция выполняется посредством скрытия всех внутренних деталей, не влияющих на внешнее поведение объекта. Обычно скрываются и внутренняя структура объекта, и реализация его методов. Это означает наличие двух частей в классе: интерфейса и реализации. Интерфейс отражает внешнее поведение всех объектов данного класса. Инкапсуляция позволяет изменить реализацию класса без изменения части программы, если интерфейс остался прежним. Такой подход приводит к контрактной модели программирования, которая заключается в разграничении внешнего облика, то есть интерфейса, и внутреннего устройства класса, реализации. Основные принципы ООПИерархия – это упорядочение абстракций, за счет чего достигается значительное упрощение понимания сложных задач. Основными видами иерархических структур применительно к сложным системам являются:
структура объектов (иерархия "целое-часть"). Иерархия "общее-частное" представлена концепцией наследования. Под этим подразумевается возможность создания иерархии классов, когда потомки наследуют все свойства своих предков, могут их изменять и добавлять новые. Свойства при наследовании повторно не описываются, что сокращает объем программы. Иерархия классов представляется в виде древовидной структуры, в которой более общие классы располагаются ближе к корню, а более специализированные — на ветвях и листьях. В C++ каждый класс может иметь сколько угодно потомков и предков. Основные принципы ООПИерархия "целое-часть" вводит отношение агрегации. В качестве примера можно привести отношение "организация – сотрудники", когда целое является чем-то большим, чем просто набором своих частей. Модульность – это свойство системы, которая была разложена на внутренне связные, но слабо связанные между собой модули. Разделение программы на модули до некоторой степени позволяет уменьшить ее сложность. Кроме того, внутри модульной программы создаются множества хорошо определенных и документированных интерфейсов, которые необходимы для исчерпывающего понимания программы в целом. При построении объектной модели рекомендуется разделять систему на отдельные компоненты, связанные с:
|