Постоянные читатели

среда, 1 мая 2024 г.

Информатика 23-24г Объекты и классы. Свойства и методы объектов.

 

Объекты и классы. Свойства и методы объектов.

Итак, определяющим понятием ООП является объект – некая совокупность, объединяющая свойства, методы и события (рис. 2.1). Объект представляет собой конкретную реализацию класса, обладающую характеристиками состояния, поведения и индивидуальности. В ООП объекты – это отдельные фрагменты кода и данные, которые взаимодействуют друг с другом и окружающим миром, моделируя состояния и взаимодействие объектов реального мира.

Объекты принадлежат классам (типам) — множеству объектов, связанных определенной общностью структуры и поведения.

Свойства — это простые переменные, которые описывают состояние объекта. Например, ширина, высота, цвет и т.п. – это свойства объекта.

Методы – это процедуры и функции, определяющие то, что объект умеет делать (вычислять). Например, объект может иметь процедуру для вывода какого-то текста на экран. Эта процедура и есть метод объекта.

События – это процедуры и функции, которые вызываются при наступлении определенного события. Например, если изменилось какое-то свойство объекта, может быть сгенерировано соответствующее событие и вызвана процедура для обработки реакции на это событие.

Указанное объединение в едином объекте свойств, методов и событий называется инкапсуляцией.

Инкапсуляция — это определение данных и подпрограмм их обработки в виде целостной структурной единицы, защищающей данные от некорректного использования.

Она представляет собой технику, при которой информация прячется внутри структуры.

Пример: рассмотрим объект – «кнопка». Такой объект должен обладать следующим минимальным набором:

Свойства:

1.      Левая позиция (Х).

2.      Верхняя позиция (Y).

3.      Ширина.

4.      Высота.

5.      Заголовок.

Методы:

1.      Создать кнопку.

2.      Уничтожить кнопку.

3.      Нарисовать кнопку.

События:

1.     Кнопка нажата.

2.      Заголовок кнопки изменен.

Объект работает как единое целое свойств, методов и событий. Например, вы изменили заголовок кнопки. Объект генерирует событие «Заголовок кнопки изменен». По этому событию вызывается метод «Нарисовать кнопку». Этот метод рисует кнопку в позиции, указанной в свойствах объекта и выводит на кнопке текст, указанный в свойстве «Заголовок».

Другим принципом ООП является иерархическое упорядочение объектов (подзадач), получаемых в процессе декомпозиции.

https://ucarecdn.com/53a5d1d1-1f7e-4119-80cc-0df3301fb5a6/

ООП преследует цель построения иерархического дерева взаимосвязей между объектами (подзадачами). Если структурная иерархия строится по простому принципу разделения целого на составные части (рис.2.2), то при создании объектно-ориентированной иерархии (ОО-иерархии) принимается другой взгляд на тот же исходный объект и в иерархии непременно отражается наследование свойств родительских (вышележащих) типов объектов дочерними (нижележащими) типами объектов (рис. 2.3).

Наследование — это такое отношение между объектами, когда один объект повторяет структуру и поведение другого.

С точки зрения программирования наследование — это свойство объектов, посредством которого экземпляры класса получают доступ к данным и методам классов-родителей без их повторного определения. Наследование позволяет различным типам данных совместно использовать один и тот же код, приводя к уменьшению его размера и повышению функциональности.

Принцип наследования действует в жизни повсеместно и повседневно. Млекопитающие и птицы наследуют признаки живых организмов, в отличие от растений, орел и воробей наследуют общее свойство птиц — умение летать. С другой стороны, львы, тигры, леопарды наследуют «структуру» и поведение, характерное для представителей отряда кошачьих и т.д.

Типы верхних уровней ОО-иерархии, как правило, не имеют конкретных экземпляров объектов. Не существует, например, конкретного живого организма (объекта), который бы сам по себе назывался «Млекопитающее» или «Птица». Такие типы называются абстрактными. Конкретные экземпляры объектов имеют, как правило, типы самых нижних уровней ОО-иерархий: «крокодил Гена» — конкретный экземпляр объекта типа «Крокодил», «кот Матроскин» — конкретный экземпляр объекта типа «Кошка домашняя».

Абстрагирование — метод решения задачи, при котором объекты разного рода объединяются общим понятием (концепцией), а затем сгруппированные сущности рассматриваются как элементы единой категории. Абстрагирование позволяет отделить логический смысл фрагмента программы от проблемы его реализации, разделив внешнее описание (интерфейс) объекта и его внутреннюю организацию (реализацию).

В ООП структурной единицей является выражение, задающее тип (называемое классом), которое позволяет использовать переменные данного типа — объекты. Представление данных обычно скрывается внутри объектов, и доступ к ним возможен только с помощью специальных подпрограмм, образующих интерфейс класса. Это позволяет отделять использование операций от их реализации и упрощает программирование. Кроме того, подпрограммы обработки данных объекта становятся такими же его компонентами, как и сами данные, что позволяет наделять объекты собственным поведением, реализуя их взаимодействие путем передачи сообщений в виде вызова интерфейсных подпрограмм. Таким образом, наследование состоит в том, что в определении нового класса (потомка) используется другой, ранее определённый класс (родитель).

Инкапсуляция и наследование — это два основных механизма ООП, обеспечивающие модульность, независимость реализации, повторное использование и естественность представления при моделировании объектов реального мира.

Еще одним основополагающим понятием ООП является полиморфизм.

Полиморфизм представляет собой свойство различных объектов выполнять одно и то же действие по-своему.

Например, действие «бежать» свойственно большинству животных. Однако каждое из них (лев, слон, крокодил, черепаха) выполняет это действие различным образом.

При традиционном (не объектно-ориентированном) подходе к программированию, животных перемещать будет программист, вызывая отдельную для конкретного животного и конкретного действия подпрограмму. При объектно-ориентированном подходе программист только указывает, какому объекту какое из присущих ему действий требуется выполнить, и (для рассматриваемого примера) однажды описанные объекты-животные сами будут себя передвигать характерным для них способом, используя входящие в его состав методы.

Таким образом, в данном случае действие «бежать» будет называться полиморфическим действием, а многообразие форм проявления этого действия — полиморфизмом.

 

Комментариев нет:

Отправить комментарий

Информатика 23-24г Объекты и классы. Свойства и методы объектов.

  Объекты и классы. Свойства и методы объектов. Итак, определяющим понятием ООП является  объект  – некая совокупность, объединяющая свойс...