ООП означает объектно-ориентированное программирование.
Процедурное программирование — это написание процедур или функций, которые выполняют операции с данными, в то время как объектно-ориентированное программирование составляет около создание объектов, содержащих как данные, так и функции. — Учебник по ООП
Объектно-ориентированное программирование имеет ряд преимуществ перед процедурным программирование:
- ООП быстрее и проще в исполнении
- ООП обеспечивает четкую структуру для программ
- ООП помогает держать код 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 0 ;
}
Выполнить пример »
несколько объектов
Можно создать несколько объектов одного класса:
Пример
// Создайте класс автомобиля с некоторыми атрибутами
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»;
возврат 0 ;
}