Объектно-ориентированное программирование

ООП означает объектно-ориентированное программирование.

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

Объектно-ориентированное программирование имеет ряд преимуществ перед процедурным программирование:

  • ООП быстрее и проще в исполнении
  • ООП обеспечивает четкую структуру для программ
  • ООП помогает держать код C++ сухим «не повторяйтесь», и делает то код легче поддерживать, изменять и отлаживать
  • ООП позволяет создавать полностью многоразовые приложения с меньшим количеством кода и более коротким временем разработки

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

Объектно-ориентированное программирование (ООП)

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

Проще говоря, ООП фокусируется на объектах, которыми разработчики хотят управлять, а не на логике, необходимой для управления ими. Этот подход к программированию хорошо подходит для больших, сложных и активно обновляемых или поддерживаемых программ. Благодаря организации объектно-ориентированной программы, этот метод также способствует совместной разработке, где проекты могут быть разделены на группы. Дополнительные преимущества ООП включают в себя повторное использование кода, масштабируемость  и эффективность.

Принципы работы ООП

Объектно-ориентированное программирование основано на следующих принципах:

  • Инкапсуляция-реализация и состояние каждого объекта хранятся в частном порядке внутри определенного граница, или класс. Другие объекты не имеют доступа к этому классу или права вносить изменения, но могут только вызывать список public функции, или методы. Эта характеристика сокрытия данных обеспечивает большую безопасность программы и позволяет избежать непреднамеренного повреждения данных .
  • Абстракция-объекты только раскрывают внутренние механизмы, которые релевантны для использования других объектов, скрывая любой ненужный код реализации. Эта концепция помогает разработчикам вносить изменения и дополнения с течением времени более легко.
  • Наследование-связи и подклассы между объектами могут быть назначены, что позволяет разработчикам повторно использовать общую логику, сохраняя при этом уникальную иерархию. Это свойство ООП заставляет проводить более тщательный анализ данных, сокращает время разработки и обеспечивает более высокий уровень точности.
  • Полиморфизм-объекты могут принимать более одной формы в зависимости от контекста. Программа будет определять, какой смысл или использование необходимо для каждого выполнения этого объекта, сокращая необходимость в дублировании кода.

C++ что такое классы и объекты?

Классы и объекты являются двумя основными аспектами объектно-ориентированного программирования.

Посмотрите на следующую иллюстрацию, чтобы увидеть разницу между классом и Объекты:

класс

Фрукты

Объекты

Apple

Банан

Манго

Еще пример:

класс

Автомобиль

Объекты

Вольво

Ауди

Тойота

Итак, класс-это шаблон для объектов, а объект-это экземпляр класса.

При создании отдельных объектов они наследуют все переменные и функции из класса.

Вы узнаете гораздо больше о классах и объектах в следующей главе.

C++ Классы / Объекты

C++ — это объектно-ориентированный язык программирования.

Все в C++ связано с классами и объектами, наряду с его атрибутами и свойствами. методы. Например: в реальной жизни автомобиль — это объект . Автомобиль имеет такие атрибуты , как вес и цвет, а также методы, такие как привод и тормоз.

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

Класс-это определенный пользователем тип данных, который мы можем использовать в нашей программе, и это работает как конструктор объектов или» схема элементов » для создания объектов.


Создание класса

Чтобы создать класс, используйте classключевое слово:

Пример

Создайте класс под названием «MyClass«:

class MyClass { //класс
  public/ / спецификатор доступа
    int myNum; // Атрибут (int переменная)
строка myString; // Атрибут (строковая переменная)
};

Объясненный пример

  • classКлючевое слово используется для создания класса с именемMyClass.
  • publicКлючевое слово является спецификатором доступа, который указывает, что члены (атрибуты и методы) класса доступны из-за пределов класса. Вы узнаете больше о спецификаторах доступа позже.
  • Внутри класса есть целочисленная переменная myNumи строковая переменная myString. При объявлении переменныхвнутри класса они называются атрибутами .
  • Наконец, завершите определение класса точкой с запятой ;.

создавать объект

В C++ объект создается из класса. Мы уже создали класс с именем MyClass, так что теперь мы можем использовать это для создания объектов.

Чтобы создать объект типаMyClass, укажите имя класса, за которым следует имя объекта.

Чтобы получить доступ к атрибутам класса (myNumи myString), используйте синтаксис точки (.) на объекте:

Пример

Создайте объект с именем «myObj» и доступ атрибут:

class MyClass {//класс
  public/ / спецификатор доступа
    int myNum; // Атрибут (int переменная)
строка myString; // Атрибут (строковая переменная)
};
int main () {
MyClass myObj // создайте объект MyClass

// атрибуты доступа и задайте значения
  myObj.myNum = 15;
миобж.myString «Некоторый текст»;

/ / вывести значения атрибутов
  cout <myNum < < «\n»;
cout <myString;
return ;
}

Выполнить пример »


несколько объектов

Можно создать несколько объектов одного класса:

Пример

// Создайте класс автомобиля с некоторыми атрибутами
class Car {
public:
string brand;
string model;
int year;
};
int main() {
// создайте объект
Car Carobj1;
carObj1.марка «BMW»;
carObj1.модель «X5»;
carObj1.год 1999 ;

/ / создать еще
один объект Car Carobj2;
carObj2.марка «Ford»;
carObj2.модель «Мустанг»;
carObj2.год 1969 ;

/ / Print значения атрибутов
cout <бренд <<«» <модель << «» <год < < «\n»;
cout < < carObj2.бренд <<«» <модель << «» <год < < «\n»;
возврат ;
}