Процедурное программирование основано на функциях
Автор: Ксюша Левицкая • Март 8, 2022 • Лекция • 857 Слов (4 Страниц) • 236 Просмотры
Лекция 2
Процедурное программирование основано на функциях.
Детали реализации объекта класса в ООП скрыты, поля объекта используются в приложении через публичный интерфейс.
Класс всегда представляет собой пользовательский тип данных.
Абстрагирование в ООП предполагает выделение главных свойств объекта и отбрасывания несущественных.
Принципы ООП:
- инкапсуляция;
- полиморфизм;
- наследование;
- абстрагирование.
Класс всегда в ООП представляет собой концепцию «чёрного ящика», который предполагает скрытие деталей реализации от пользователей.
Принцип инкапсуляции предполагает сокрытие внутренних данных от пользователя и доставление способа взаимодействия с ними, данными, через методы класса.
Типичная программа на С++ состоит из совокупности объектов, взаимодействующих между собой посредством вызова методов друг друга.
Наследование (англ. inheritance) предполагает создание иерархии классов, в которой существуют классы, которые являются базовыми (англ. base class) и дочерними классами (англ. derived class, subclass). Принцип связи между классами будет заключаться в том, что базовые классы будут описывать общие свойства, а дочерние классы будут добавлять соответствующие им свойства.
Наследование позволяет реализовывать принцип повторного использования кода.
Полиморфизм (англ. polymorphism) предполагает использование в различных классах одного имени для вызова близких (похожих) действий, определение реализации которых происходит в момент runtime или в момент выполнения программы.
Главною особенностью полиморфизма является то, что наличие одного интерфейса предполагает множество реализаций.
Перегрузка функции и операторов относится к полиморфизму.
Класс – это тип данных, или шаблон, или чертёж, или образец, или лекало. Он всегда состоит из объявления в нём полей и методов.
Язык С++ спроектирован таким образом, чтобы работа с примитивными типами выполнялась точно так же, как и с объектами пользовательского типа.
При создании класса необходимо выделить набор полей, которые будут описывать состояние объекта. Методы будут представлять собой функции, предназначенные для перевода объекта из одного состояния в другое. По умолчанию атрибут доступа в классе private. Атрибут доступа в структуре по умолчанию public.
Атрибут доступа private говорит о том, что поля и методы класса являются недоступными вне класса. Атрибут доступа public говорит о том, что поля и методы класса являются доступными вне класса.
Обычно поля скрываются (private), методы обычно открываются (public).
Структуры целесообразно создавать тогда, когда не предполагается разница инкапсуляции, т.е. вся начинка типа будет открытой.
Класс необходимо создавать тогда, когда есть набор полей и методов, которые надо спрятать под пользователем.
«cout» используется для вывода информации на консоль, после него ставятся знаки «<<».
Оператор «<<» вывода в поток.
Объект «cin» предназначен для получения данных из консоли, после него стоит оператор «>>» считывания из потока.
Обычно реализация методов пишется вне класса, но если тело метода написано внутри класса, то такой метод называется встроенным или inline.
При реализации метода вне класса необходимо сначала указать тип возвращаемого значения, имя класса, затем поставить scope resolution operator (::), потом имя метода, в () набор аргументов и тело метода.
Конструктор класса
Конструктор – это особый метод класса, который предназначен для создания объектов класса. Имя конструктор всегда совпадает с именем класса (регистр в регистр, буква в букву). Конструктор автоматически вызывается при создании объекта. Конструктор никогда, ничего не вернёт.
...