Что такое абстракция в 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. Использование классов и объектов
  2. Использование заголовочных файлов

Источник

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++ предоставляет несколько способов достижения абстракции данных, средств скрытия деталей реализации и предоставления клиентскому коду возможности работать с высокоуровневыми интерфейсами.