Содержание

Абстракция | это… Что такое Абстракция?

В этой статье не хватает ссылок на источники информации.

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 11 апреля 2012.

Абстра́кция (от лат. abstractio — отвлечение) — отвлечение в процессе познания от несущественных сторон, свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков; абстрагирование; теоретическое обобщение как результат такого отвлечения.

В европейской философии и логике абстрагирование трактуется как способ поэтапного продуцирования понятий, которые образуют всё более общие модели — иерархию абстракций. Наиболее развитой системой абстракций обладает математика. Степень отвлечённости обсуждаемого понятия называется уровнем абстракции.

В зависимости от целей и задач, можно рассуждать об одном и том же объекте на разных уровнях абстракции.

Содержание

  • 1 Абстрактное понятие
  • 2 Абстрагирование
  • 3 Виды абстракции
  • 4 Абстрактное и конкретное
  • 5 Определение через абстракцию
  • 6 Медицина
  • 7 См. также

Абстрактное понятие

Абстрактное понятие — высшая форма абстракции, но связанная с примитивной чувственной абстракцией. Начиная с одних чувственных свойств и выделения других чувственных свойств (примитивная чувственная абстракция) абстракция переходит от чувственных свойств предмета и выделение его нечувственных свойств, выраженных в отвлеченных абстрактных понятиях. Поэтому мысль может через отношения между предметами выявить их абстрактные свойства. Абстракция в своих высших формах является результатом раскрытия все более существенных свойств вещей и явлений через их связи и отношения. Существовало два учения об абстракции, то есть о том процессе, когда мышление переходит к абстрактным понятиям:

  • абстракция эмпирической психологии — это учение сводило абстрактное лишь к чувственному,
  • абстракция реалистической психологии — отрывало абстрактное от чувственного, утверждая, что абстрактное содержание порождается мыслью.

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

Абстрагирование

Абстрагирование — это мысленное выделение, вычленение некоторых элементов конкретного множества и отвлечение их от прочих элементов данного множества. Это один из основных процессов умственной деятельности человека, опирающийся на знаковое опосредствование и позволяющий превратить в объект рассмотрения разные свойства предметов. Это теоретическое обобщение позволяет отразить основные закономерности исследуемых объектов или явлений, изучать их, а также прогнозировать новые, неизвестные закономерности. В качестве абстрактных объектов выступают целостные образования, составляющие непосредственное содержание человеческого мышления — понятия, суждения, умозаключения, законы, математические структуры и др.

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

Виды абстракции

Некоторые типы абстракции:

  • примитивная чувственная абстракция — отвлекается от одних свойств предмета или явления, выделяя другие его свойства или качества (выделение формы предмета, отвлекшись от его цвета или наоборот). В силу бесконечного многообразия действительности никакое восприятие не в состоянии охватить все её стороны, поэтому примитивная чувственная абстракция совершается в каждом процессе восприятия и неизбежно связана с ним.
  • обобщающая абстракция — даёт обобщённую картину явления, отвлечённую от частных отклонений. В результате такой абстракции выделяется общее свойство исследуемых объектов или явлений. Данный вид абстракции считается основным в математике и математической логике.
  • идеализация — замещение реального эмпирического явления идеализированной схемой, отвлечённой от реальных недостатков. В результате образуются понятия идеализированных (идеальных) объектов («идеальный газ», «абсолютно чёрное тело», «прямая», «сферический конь в вакууме» (из анекдота про идеализацию) и др.)
  • изолирующая абстракция — тесным образом связана с непроизвольным вниманием, поскольку при этом выделяется то содержание, на котором сосредоточивается внимание.
  • абстракция актуальной бесконечности — отвлечение от принципиальной невозможности зафиксировать каждый элемент бесконечного множества[источник не указан 747 дней], то есть бесконечные множества рассматриваются как конечные[источник не указан 747 дней].
  • конструктивизация — отвлечение от неопределённости границ реальных объектов, их «огрубление».

По целям:

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

Абстрактное и конкретное

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

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

Определение через абстракцию

Определение через абстракцию — способ описания (выделения, «абстрагирования») не воспринимаемых чувственно («абстрактных») свойств предметов путём задания на предметной области некоторого отношения типа равенства (тождества, эквивалентности). Такое отношение, обладающее свойствами рефлексивности, симметричности и транзитивности, индуцирует разбиение предметной области на непересекающиеся классы (классы абстракции, или классы эквивалентности), причём элементы, принадлежащие одному и тому же классу, неотличимы по определяемому таким образом свойству.

Медицина

Ввиду некоторых физиологических особенностей головного мозга индивидуумов, у людей, которых имеются такие заболевания как Умственная отсталость, олигофрения, может отсутствовать или быть слабо выражено абстрактное мышление

См. также

  • Абстракция данных
  • Слой абстрагирования (уровень абстракции) в программировании
  • Обобщение
  • Мереологический нигилизм

Абстракция | это… Что такое Абстракция?

В этой статье не хватает ссылок на источники информации.

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 11 апреля 2012.

Абстра́кция (от лат. abstractio — отвлечение) — отвлечение в процессе познания от несущественных сторон, свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков; абстрагирование; теоретическое обобщение как результат такого отвлечения.

В европейской философии и логике абстрагирование трактуется как способ поэтапного продуцирования понятий, которые образуют всё более общие модели — иерархию абстракций. Наиболее развитой системой абстракций обладает математика. Степень отвлечённости обсуждаемого понятия называется уровнем абстракции. В зависимости от целей и задач, можно рассуждать об одном и том же объекте на разных уровнях абстракции.

Содержание

  • 1 Абстрактное понятие
  • 2 Абстрагирование
  • 3 Виды абстракции
  • 4 Абстрактное и конкретное
  • 5 Определение через абстракцию
  • 6 Медицина
  • 7 См. также

Абстрактное понятие

Абстрактное понятие — высшая форма абстракции, но связанная с примитивной чувственной абстракцией. Начиная с одних чувственных свойств и выделения других чувственных свойств (примитивная чувственная абстракция) абстракция переходит от чувственных свойств предмета и выделение его нечувственных свойств, выраженных в отвлеченных абстрактных понятиях. Поэтому мысль может через отношения между предметами выявить их абстрактные свойства. Абстракция в своих высших формах является результатом раскрытия все более существенных свойств вещей и явлений через их связи и отношения. Существовало два учения об абстракции, то есть о том процессе, когда мышление переходит к абстрактным понятиям:

  • абстракция эмпирической психологии — это учение сводило абстрактное лишь к чувственному,
  • абстракция реалистической психологии — отрывало абстрактное от чувственного, утверждая, что абстрактное содержание порождается мыслью.

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

Абстрагирование

Абстрагирование — это мысленное выделение, вычленение некоторых элементов конкретного множества и отвлечение их от прочих элементов данного множества. Это один из основных процессов умственной деятельности человека, опирающийся на знаковое опосредствование и позволяющий превратить в объект рассмотрения разные свойства предметов. Это теоретическое обобщение позволяет отразить основные закономерности исследуемых объектов или явлений, изучать их, а также прогнозировать новые, неизвестные закономерности. В качестве абстрактных объектов выступают целостные образования, составляющие непосредственное содержание человеческого мышления — понятия, суждения, умозаключения, законы, математические структуры и др.

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

Виды абстракции

Некоторые типы абстракции:

  • примитивная чувственная абстракция — отвлекается от одних свойств предмета или явления, выделяя другие его свойства или качества (выделение формы предмета, отвлекшись от его цвета или наоборот). В силу бесконечного многообразия действительности никакое восприятие не в состоянии охватить все её стороны, поэтому примитивная чувственная абстракция совершается в каждом процессе восприятия и неизбежно связана с ним.
  • обобщающая абстракция — даёт обобщённую картину явления, отвлечённую от частных отклонений. В результате такой абстракции выделяется общее свойство исследуемых объектов или явлений. Данный вид абстракции считается основным в математике и математической логике.
  • идеализация — замещение реального эмпирического явления идеализированной схемой, отвлечённой от реальных недостатков. В результате образуются понятия идеализированных (идеальных) объектов («идеальный газ», «абсолютно чёрное тело», «прямая», «сферический конь в вакууме» (из анекдота про идеализацию) и др.)
  • изолирующая абстракция — тесным образом связана с непроизвольным вниманием, поскольку при этом выделяется то содержание, на котором сосредоточивается внимание.
  • абстракция актуальной бесконечности — отвлечение от принципиальной невозможности зафиксировать каждый элемент бесконечного множества
    [источник не указан 747 дней]
    , то есть бесконечные множества рассматриваются как конечные[источник не указан 747 дней].
  • конструктивизация — отвлечение от неопределённости границ реальных объектов, их «огрубление».

По целям:

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

Абстрактное и конкретное

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

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

Определение через абстракцию

Определение через абстракцию — способ описания (выделения, «абстрагирования») не воспринимаемых чувственно («абстрактных») свойств предметов путём задания на предметной области некоторого отношения типа равенства (тождества, эквивалентности). Такое отношение, обладающее свойствами рефлексивности, симметричности и транзитивности, индуцирует разбиение предметной области на непересекающиеся классы (классы абстракции, или классы эквивалентности), причём элементы, принадлежащие одному и тому же классу, неотличимы по определяемому таким образом свойству.

Медицина

Ввиду некоторых физиологических особенностей головного мозга индивидуумов, у людей, которых имеются такие заболевания как Умственная отсталость, олигофрения, может отсутствовать или быть слабо выражено абстрактное мышление

См. также

  • Абстракция данных
  • Слой абстрагирования (уровень абстракции) в программировании
  • Обобщение
  • Мереологический нигилизм

Абстракция | это… Что такое Абстракция?

В этой статье не хватает ссылок на источники информации.

Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 11 апреля 2012.

Абстра́кция (от лат. abstractio — отвлечение) — отвлечение в процессе познания от несущественных сторон, свойств, связей объекта (предмета или явления) с целью выделения их существенных, закономерных признаков; абстрагирование; теоретическое обобщение как результат такого отвлечения.

В европейской философии и логике абстрагирование трактуется как способ поэтапного продуцирования понятий, которые образуют всё более общие модели — иерархию абстракций. Наиболее развитой системой абстракций обладает математика. Степень отвлечённости обсуждаемого понятия называется уровнем абстракции. В зависимости от целей и задач, можно рассуждать об одном и том же объекте на разных уровнях абстракции.

Содержание

  • 1 Абстрактное понятие
  • 2 Абстрагирование
  • 3 Виды абстракции
  • 4 Абстрактное и конкретное
  • 5 Определение через абстракцию
  • 6 Медицина
  • 7 См. также

Абстрактное понятие

Абстрактное понятие — высшая форма абстракции, но связанная с примитивной чувственной абстракцией. Начиная с одних чувственных свойств и выделения других чувственных свойств (примитивная чувственная абстракция) абстракция переходит от чувственных свойств предмета и выделение его нечувственных свойств, выраженных в отвлеченных абстрактных понятиях. Поэтому мысль может через отношения между предметами выявить их абстрактные свойства. Абстракция в своих высших формах является результатом раскрытия все более существенных свойств вещей и явлений через их связи и отношения. Существовало два учения об абстракции, то есть о том процессе, когда мышление переходит к абстрактным понятиям:

  • абстракция эмпирической психологии — это учение сводило абстрактное лишь к чувственному,
  • абстракция реалистической психологии — отрывало абстрактное от чувственного, утверждая, что абстрактное содержание порождается мыслью.

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

Абстрагирование

Абстрагирование — это мысленное выделение, вычленение некоторых элементов конкретного множества и отвлечение их от прочих элементов данного множества. Это один из основных процессов умственной деятельности человека, опирающийся на знаковое опосредствование и позволяющий превратить в объект рассмотрения разные свойства предметов. Это теоретическое обобщение позволяет отразить основные закономерности исследуемых объектов или явлений, изучать их, а также прогнозировать новые, неизвестные закономерности. В качестве абстрактных объектов выступают целостные образования, составляющие непосредственное содержание человеческого мышления — понятия, суждения, умозаключения, законы, математические структуры и др.

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

Виды абстракции

Некоторые типы абстракции:

  • примитивная чувственная абстракция — отвлекается от одних свойств предмета или явления, выделяя другие его свойства или качества (выделение формы предмета, отвлекшись от его цвета или наоборот). В силу бесконечного многообразия действительности никакое восприятие не в состоянии охватить все её стороны, поэтому примитивная чувственная абстракция совершается в каждом процессе восприятия и неизбежно связана с ним.
  • обобщающая абстракция — даёт обобщённую картину явления, отвлечённую от частных отклонений. В результате такой абстракции выделяется общее свойство исследуемых объектов или явлений. Данный вид абстракции считается основным в математике и математической логике.
  • идеализация — замещение реального эмпирического явления идеализированной схемой, отвлечённой от реальных недостатков. В результате образуются понятия идеализированных (идеальных) объектов («идеальный газ», «абсолютно чёрное тело», «прямая», «сферический конь в вакууме» (из анекдота про идеализацию) и др.)
  • изолирующая абстракция — тесным образом связана с непроизвольным вниманием, поскольку при этом выделяется то содержание, на котором сосредоточивается внимание.
  • абстракция актуальной бесконечности — отвлечение от принципиальной невозможности зафиксировать каждый элемент бесконечного множества[источник не указан 747 дней], то есть бесконечные множества рассматриваются как конечные[источник не указан 747 дней].
  • конструктивизация — отвлечение от неопределённости границ реальных объектов, их «огрубление».

По целям:

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

Абстрактное и конкретное

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

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

Определение через абстракцию

Определение через абстракцию — способ описания (выделения, «абстрагирования») не воспринимаемых чувственно («абстрактных») свойств предметов путём задания на предметной области некоторого отношения типа равенства (тождества, эквивалентности). Такое отношение, обладающее свойствами рефлексивности, симметричности и транзитивности, индуцирует разбиение предметной области на непересекающиеся классы (классы абстракции, или классы эквивалентности), причём элементы, принадлежащие одному и тому же классу, неотличимы по определяемому таким образом свойству.

Медицина

Ввиду некоторых физиологических особенностей головного мозга индивидуумов, у людей, которых имеются такие заболевания как Умственная отсталость, олигофрения, может отсутствовать или быть слабо выражено абстрактное мышление

См. также

  • Абстракция данных
  • Слой абстрагирования (уровень абстракции) в программировании
  • Обобщение
  • Мереологический нигилизм

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

Абстракция в реальной жизни

В философской терминологии абстракция — это общий мыслительный процесс для понимания поведения или структуры объекта. Например, наш разум работает на основе абстракций. Когда мы думаем об автомобиле, в основном мы вспоминаем об абстрактном понятии автомобиля и его функциональных возможностях. Вот почему мы можем распознать такой объект, как автомобиль, даже если он отличается от любого другого автомобиля, который мы видели ранее. Другими словами, мы разрабатываем концепции повседневных объектов в процессе абстракции, где мы удаляем ненужные детали и концентрируемся на основных атрибутах и ​​функциях.

Абстракция присутствует почти во всех реальных приложениях. Например:

  • Когда мы входим в какую-либо онлайн-учетную запись, мы вводим идентификатор пользователя и пароль. После нажатия кнопки входа: все, как входные данные отправляются на сервер и проверяются, абстрагируется.
  • Когда мы печатаем на своем компьютере, мы нажимаем клавиши, чтобы получить результаты на нашем экране. Мы ничего не знаем о механизме, который производит вывод.
  • В Java HashMap предоставляет методы для хранения и извлечения пар ключ-значение из карты. Таким образом, единственная информация, которая нам нужна для использования хеш-карты, — это определить вариант ее использования в нашем приложении. Как это реализовано внутри, мы этого знать не обязаны.
  • Предположим, мы разрабатываем класс для взаимодействия с базой данных для выполнения некоторых операций с базой данных. Теперь клиенту нашего класса не нужно разбираться в программировании баз данных. Им нужно знать только некоторые детали класса для выполнения операций с базой данных без глубоких знаний программирования баз данных.

Абстракция в объектно-ориентированном программировании

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

Критические идеи для размышления!

  • Объект содержит некоторые свойства и методы. Используя модификаторы доступа, мы можем скрыть важные детали и предоставить доступ к нужным методам и свойствам внешнему миру. Это одна из общих процедур для достижения абстракции в ООП.
  • Абстракция включает определение объектов как абстрактных «акторов», которые могут выполнять некоторый набор функций, изменять свое состояние и взаимодействовать с другими объектами.
  • Мы также можем понять абстракцию, используя наследование. В иерархии наследования родительские классы содержат общую реализацию, а дочерние классы включают более подробную реализацию родительских классов.
  • Абстракция — это основная идея, лежащая в основе многих фундаментальных принципов oops, таких как Open-Closed Principle и Принцип инверсии зависимостей .

Как реализовать абстракцию?

  • В Java мы реализуем абстракцию, используя абстрактный класс и интерфейс.
  • В C++ мы реализуем абстракцию, используя заголовочные файлы, спецификаторы доступа и абстрактные классы. Мы можем создавать абстрактные классы в C++, используя виртуальные функции и наследование.

Позже мы обсудим абстракцию в Java и C++ в отдельных блогах.

Некоторые важные концепции для изучения!

  • Как добиться абстракции в Java с помощью абстрактных классов и абстрактных методов?
  • Как добиться абстракции в Java с помощью интерфейсов?
  • Когда использовать абстрактный класс и интерфейс в Java?
  • Что такое абстрактный класс C++?
  • Что такое чистая виртуальная функция в C++?

Типы абстракций в ООП

Объектно-ориентированное программирование можно рассматривать как попытку абстрагировать как данные, так и управление. Таким образом, в ООП существует два типа абстракции:

Абстракция данных

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

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

Например, можно определить абстрактный тип данных под названием Словарь, где каждый ключ связан с уникальным значением, и мы можем получить доступ к значениям на основе их ключей. Такая структура данных может быть реализована с помощью хеш-таблицы, двоичного дерева поиска или даже простого массива. Для клиентского кода тип абстрактных свойств в каждом случае одинаков.

Абстракция управления

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

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

  • Абстракция управления следует принципу DRY, что означает «Не повторяйся» и использование методов в программе.
  • Используя абстракцию управления, мы можем создавать новые функции и объединять операторы управления в единое целое.
  • Мы больше подчеркиваем, как можно реализовать конкретную функциональность, чем описываем каждую деталь.

Примечание: Абстракция управления является одной из основных целей использования языков программирования. Компьютерные машины понимают операции на очень низком уровне, такие как перемещение некоторых битов из одной ячейки памяти в другую и создание суммы двух последовательностей битов. Языки программирования позволяют сделать это на более высоком уровне.

Сравнение абстракции и инкапсуляции

Хорошо спроектированный код с надлежащим использованием абстракции соответствует принципу наименьшего удивления: «Компонент системы должен вести себя так, как ожидает большинство пользователей. Поведение не должно удивлять пользователей».

Но главный вопрос заключается в следующем: как определить и показать пользователям ожидаемое поведение? Как обрабатывать детали их реализации? На этом этапе появляется следующий столп объектно-ориентированного программирования: инкапсуляция!

Основное различие между абстракцией и инкапсуляцией

Преимущества абстракции

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

Заключение

Таким образом, абстракция раскрывает только детали, касающиеся клиента или пользователя. Если клиент использует какой-либо класс, ему не нужно беспокоиться о внутренних деталях, связанных с операциями класса. Другими словами, это помогает нам отделить пользователя объекта от его реализации. Таким образом, поведение объекта легко понять и поддерживать. Как будто есть какое-то изменение в какой-то операции, нам нужно только изменить внутренние детали связанного метода.

Наслаждайтесь обучением, наслаждайтесь OOPS!

Что такое «абстракция» в программировании? | by Brandon Burrus

Photo by Marko Blažević on Unsplash

Все мои статьи теперь доступны бесплатно здесь, без подписки на Medium!

В мире разработки программного обеспечения много большой и страшной технической чепухи, которая причиняет бесконечную боль как новичкам, так и опытным. Одним из технических терминов, который вы можете часто слышать, является «Абстракция» — один из самых запутанных терминов в этой области.

Так что же такое абстракция? В качестве прилагательного абстракция означает « существующее в мысли или в виде идеи, но не имеющее физического или конкретного существования », а в качестве глагола оно означает « рассматривать теоретически или отдельно от чего-то другого ». Эти два вполне буквальных определения, взятые вместе, как раз и есть абстракция.

Абстракция — это теоретическая идея. Отличные, более громкие слова, но что на самом деле означает . В программировании абстракция — это всего лишь способ упростить сложную идею или действие. Давайте посмотрим, что является наиболее распространенной абстракцией, которую знает каждый программист.

Что вы узнаете в первую очередь, будучи начинающим программистом? Классическая программа Hello World , в которой вы печатаете некоторый текст на консоли. Но вы когда-нибудь останавливались и задавались вопросом, как это на самом деле работает под капотом?

Стандартный Hello World на большинстве языков обычно выглядит примерно так:

 print("Hello, world") 

Большинство программистов не знают, как на самом деле работает эта единственная строка кода. И они тоже не должны. Все, что вам нужно знать, это какие входные данные дать print() , чтобы заставить ее работать.

Вот и вся абстракция. Он берет что-то сложное и сводит его к простому вопросу входов и выходов. Звучит знакомо? Так и должно быть, потому что это именно то, чем является каждая функция, действие, которому вы вводите какие-то входные данные, ожидая некоторого результата.

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

Функции — не единственные виды абстракций, хотя они наиболее распространены и их проще всего создавать. Конечные точки REST API — это абстракции: вы не знаете, где и как они получают свои данные, вы просто делаете запрос и ожидаете ответа. Системы управления базами данных (СУБД) — это абстракции: вы не знаете, как и где база данных хранит данные, вы знаете только, как взаимодействовать с ней и запрашивать ее. Библиотеки — это просто наборы функций, а значит, и набор полезных абстракций.

Как программисты, мы все время тянемся к абстракциям, даже не осознавая этого. Теперь, когда вы знаете, что такое абстракция, следующим шагом будет создание собственных абстракций. Важной частью абстракций является то, что они всегда специфичны для системы, в которой вы работаете.

Допустим, нам дали задачу реализовать базовый уровень сохраняемости нашей архитектуры. Безусловно, это большая задача, и наша главная цель — сделать сохранение данных простым и безболезненным. Самый простой способ — взаимодействовать с любой библиотекой, которую мы используем для взаимодействия с СУБД. Но это создает возможный будущий технический долг. Что, если наше текущее решение для базы данных окажется неэффективным, и нам нужно будет позже изменить часть нашего технического стека?

Есть несколько способов решить эту проблему. Для наших целей мы рассмотрим сервисный подход. Что, если вместо прямого взаимодействия с нашей базой данных (или оболочкой библиотеки базы данных) мы создадим службу «Постоянство». Эта служба будет отвечать за прием данных и уникальный идентификатор, а также за сохранение этих данных под этим идентификатором.

Это может выглядеть примерно так PersistenceService.saveToId(id, data) Какую пользу это нам приносит? Это означает, что мы больше не создаем жесткую зависимость от нашей базы данных, а это означает, что если мы захотим изменить какое-либо решение для базы данных, которое мы используем в будущем, у нас больше не будет рефакторинга каждой строки кода, связанной с жестким сохранением. У нас есть только рефакторинг внутренностей самой службы постоянства.

В этом истинное преимущество абстракций. Как программист, абстракции означают, что нам не нужно полностью понимать каждую реализацию нашей системы. Нам просто нужно знать, какие входные данные дать абстракции, чтобы получить на выходе то, что нам действительно нужно.

Также важно отметить, что мы вообще не говорили о какой-либо конкретной технологии или языке программирования. Абстракции универсальны для каждого языка программирования и существуют в каждой кодовой базе. Если вы не пишете свою программу в двоичном формате, вы как программист никогда не сможете избежать абстракций.

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

в кембриджском словаре английского языка

Примеры абстракции

абстракция

Но он подтолкнул искусство к чистой абстракции , исключив фигуры и узнаваемые предметы в своих работах и ​​сосредоточившись на цвете, форме и линии.

Из OCRregister