Что такое абстракция в C++? С примером из реальной жизни и его реализацией
Опубликовано: 2021-05-19Объектно-ориентированное программирование (ООП) — самая популярная парадигма программирования и стандартный способ написания кода для программистов. ООП работает над концепцией классов и объектов . Он структурирует программу в простые повторно используемые фрагменты кода, называемые классами, для создания отдельных объектов. C++ — это объектно-ориентированный язык программирования, а абстракция в C++ — это одна из наиболее важных функций C++, о которой пойдет речь в этой статье.
Объектно-ориентированное программирование предназначено для повышения гибкости программы. В этой статье вы узнаете о том, как выполняется абстракция данных в программе на C++, а также о преимуществах этого.
Оглавление
Абстракция данных в C++
Абстракция происходит от двух латинских слов: «абс», что означает «вдали от», и «тяга», что означает «рисовать», относится к представлению необходимых основных функций без включения всех деталей.
Классы C++ выполняют абстракцию со списком абстрактных атрибутов, таких как функции. В них заложены все существенные свойства создаваемого объекта. Атрибуты называются элементами данных, а функции, которые работают с ними, называются функциями-членами. Классы C++, использующие концепцию абстракции данных, называются абстрактными типами данных.
Источник
При использовании класса члены данных и функции-члены представлены в коде. Но встроенные типы данных и члены класса игнорируются при использовании объекта, известного как абстракция данных.
Программа для демонстрации абстракции в C++
#include <iostream.h>
#include <conio.h>
сумма класса
{
// абстракция данных
частный : int x, y, z;
общественность :
недействительно добавить ()
{
клрскр();
cout<< «Введите два числа: « ;
цин>>х>>у;
г=х+у;
cout<< "Сумма чисел: " <<z;
}
};
пустой основной ()
{
сумма с;
с.добавить();
получить();
}
Выход
Введите два числа:
22
23
Сумма чисел: 45
Примеры из реальной жизни, демонстрирующие абстракцию
Абстракция — это особенность объектно-ориентированного программирования, когда пользователю показываются только важные детали, а ненужные детали скрываются.
Вы можете понять абстракцию в C++ с помощью этих примеров,
Когда электронное письмо отправлено, вы просто нажимаете «Отправить» и получаете отправленную квитанцию. Здесь абстрагируются данные, передаваемые получателю.
Важными характеристиками телефона являются карта памяти, SIM-карта, время автономной работы, дизайн и процессор. Во время работы с телефоном вы не вникаете в операционные детали телефона, такие как распределение памяти процессора для различных невидимых для вас носителей. Вы можете использовать только определенные команды и кнопки на своем телефоне, не зная, что происходит внутри вашего телефона.
Человек, управляющий автомобилем, знает, что нажатие на педаль акселератора увеличит скорость автомобиля, но он не знает, как это сделать, а это не что иное, как абстракция.
Реализация абстракции данных в C++
C++ — это объектно-ориентированный подход к программированию. Абстракция данных в C++ реализуется двумя способами:
- Использование классов и объектов
- Использование заголовочных файлов
Источник
1. Использование классов и объектов
Мы можем абстрагировать конкретный член данных или функцию-член, чтобы он был доступен вне класса или не использовал спецификаторы доступа public, private или protected с помощью классов.
2. Использование файлов заголовков
Заголовочные файлы включают встроенные библиотечные функции, связанные с этим заголовочным файлом. Для файла заголовка #include<string.h> программисты могут получить доступ к функциям strcpy() и strlen() и многим другим.
Программа:
Давайте взглянем на простую программу на C++, чтобы понять абстракцию с использованием классов, объектов и заголовочных файлов:
#include <иопоток>
использование пространства имен std;
Абстракция класса
{
// Частный
целое число1, число2;
публичный:
// Для доступа к закрытым членам
пустой ввод (int n1, int n2)
{
число1 = n1;
число2 = n2;
}
пустая сумма ()
{
cout<<” Сумма:” << num1+num2 << endl;
}
};
основной ()
{
cout<<“ Абстракция данных в C++ ”<<endl;
Абстракция а;
а. ввод (11, 18);
а.сумма();
вернуть 0;
}
Выход
Абстракция данных в C++
Сумма:29
Преимущества абстракции в C++
Нельзя отрицать тот факт, что абстракция в C++ является полезной концепцией программирования. Давайте подробно обсудим некоторые из преимуществ, которые он предлагает:
Это повышает возможность повторного использования кода и разделение классов, избегая любой избыточности.
Это повышает читаемость кода, устраняя сложную работу кода, делая его понятным.
Внутренности класса защищены от случайных ошибок на уровне пользователя.
Абстракция в C++ — это практика написания высокоуровневого кода.
Это позволяет избежать дублирования кода, и программисту не нужно каждый раз повторять общие задачи для аналогичных операций.
Он может независимо изменять внутреннюю реализацию класса, не затрагивая пользователя.
Изучайте онлайн -курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Заключение
Абстракция данных в C++ — это метод обеспечения безопасности данных от несанкционированных методов. В этой статье мы попытались объяснить одну из самых важных концепций C++, широко используемых вместе с ее реализацией и примерами из реальной жизни для большей ясности. Для новичка с небольшими знаниями или без них не составит труда освоить концепции с некоторой практикой.
Если вы рассматриваете курс магистра наук в области компьютерных наук от pGrad , то процесс обучения будет для вас более гладким.
Мы надеемся, что у вас будет отличная возможность научиться выполнять эти проекты на C++. Если вы хотите узнать больше и нуждаетесь в наставничестве от отраслевых экспертов, ознакомьтесь с руководством upGrad & IIIT Banglore по разработке программного обеспечения с полным стеком .
Что такое абстракция в C++?
Абстракция — это процесс сокрытия деталей, имеющих отношение к конкретной цели. Это центральная идея объектно-ориентированного программирования. Это позволяет программистам писать код, который является более общим, чем реальная решаемая проблема. Это помогает уменьшить размер кода и упростить его. Абстракция также позволяет модифицировать код в будущем, не изменяя его в соответствии с новыми потребностями.
Каковы важные столпы объектно-ориентированного программирования?
Абстракция: мы можем думать об абстракции как о процессе использования различных уровней разделения между деталями сложной операции и кодом, выполняющим эту операцию. Полиморфизм: в основном это означает, что одна и та же операция может быть представлена по-разному в разных контекстах. Наследование. Наследование — это повторное использование кода. Интерфейсы. Интерфейсы — это высокоуровневые описания классов. По сути, это контракт, определяющий методы, которые должен иметь класс. Композиция: Композиция — это объединение объектов для достижения более сложной функциональности.
Как добиться абстракции в C++?
Абстракция — это реализация концепции. Это то, что вы делаете, когда используете кучу классов и функций, чтобы отделить идею от кода, который ее реализует. В C++ абстракция — это класс, шаблон или функция. В C++ абстракция достигается многими способами, например, C++ предоставляет несколько способов достижения абстракции данных, средств скрытия деталей реализации и предоставления клиентскому коду возможности работать с высокоуровневыми интерфейсами.