Что означает слово инкапсуляция

Инкапсуляция

Словарь иностранных слов.- 11-е изд., стереотип.- М.:Рус.яз., 1984.-608 с.

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

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

Полезное

Смотреть что такое «Инкапсуляция» в других словарях:

ИНКАПСУЛЯЦИЯ — (лат.). Изменение одних слов в другие, в американских языках. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. инкапсуляция (лат. in в) образование капсулы 1 вокруг чуждых для организма веществ (инородных тел,… … Словарь иностранных слов русского языка

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

инкапсуляция — инкапсулирование Словарь русских синонимов. инкапсуляция сущ., кол во синонимов: 1 • инкапсулирование (1) Словарь синонимов ASIS … Словарь синонимов

инкапсуляция «IP в IP» — Для инкапсуляции в дейтаграмму IP используется инкапсуляция IP в IP (IP in IP), для этого перед существующим заголовком IP дейтаграммы вставляется внешний заголовок IP (МСЭ Т Y.1281). [http://www.iks media.ru/glossary/index.html?glossid=2400324]… … Справочник технического переводчика

ИНКАПСУЛЯЦИЯ — (от лат capsula ящик, капсула, сумка), осумкование, термин, употребляющийся для обозначения разрастания соединительнотканной капсулы, сумки вокруг тех или иных пат. образований, паразитов и пр. тел, не подвергающихся почему либо рассасыванию в… … Большая медицинская энциклопедия

инкапсуляция — скрытие включение вбирание Термин объектно ориентированного программирования, означающий структурирование программы на модули особого вида, называемые классами и объединяющие данные и процедуры их обработки, причем внутренние данные класса не… … Справочник технического переводчика

инкапсуляция — (incapsulatio; ин + лат. capsula ящичек, оболочка) процесс отграничения очага воспаления или инородного тела путем образования вокруг него фиброзной оболочки (капсулы) … Большой медицинский словарь

инкапсуляция — инкапсуляция, инкапсуляции, инкапсуляции, инкапсуляций, инкапсуляции, инкапсуляциям, инкапсуляцию, инкапсуляции, инкапсуляцией, инкапсуляциею, инкапсуляциями, инкапсуляции, инкапсуляциях (Источник: «Полная акцентуированная парадигма по А. А.… … Формы слов

инкапсуляция — инкапсул яция, и … Русский орфографический словарь

ИНКАПСУЛЯЦИЯ — (от лат. in — в, внутри и capsula —коробочка, ящичек), разрастание соединительной ткани вокруг инородных тел или мёртвых масс, образующихся в органах и тканях при различных патологических процессах … Ветеринарный энциклопедический словарь

Источник

ИНКАПСУЛЯЦИЯ

Полезное

Смотреть что такое «ИНКАПСУЛЯЦИЯ» в других словарях:

Инкапсуляция — (лат. in в, capsula коробочка ; итал. incapsulare закупоривать) 1. Изоляция, закрытие чего либо мешающего, ненужного, вредного с целью исключения отрицательного влияния на окружающее. (Поместить радиоактивные отходы в капсулу, закрыть… … Википедия

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

инкапсуляция — инкапсулирование Словарь русских синонимов. инкапсуляция сущ., кол во синонимов: 1 • инкапсулирование (1) Словарь синонимов ASIS … Словарь синонимов

инкапсуляция «IP в IP» — Для инкапсуляции в дейтаграмму IP используется инкапсуляция IP в IP (IP in IP), для этого перед существующим заголовком IP дейтаграммы вставляется внешний заголовок IP (МСЭ Т Y.1281). [http://www.iks media.ru/glossary/index.html?glossid=2400324]… … Справочник технического переводчика

ИНКАПСУЛЯЦИЯ — (от лат capsula ящик, капсула, сумка), осумкование, термин, употребляющийся для обозначения разрастания соединительнотканной капсулы, сумки вокруг тех или иных пат. образований, паразитов и пр. тел, не подвергающихся почему либо рассасыванию в… … Большая медицинская энциклопедия

инкапсуляция — скрытие включение вбирание Термин объектно ориентированного программирования, означающий структурирование программы на модули особого вида, называемые классами и объединяющие данные и процедуры их обработки, причем внутренние данные класса не… … Справочник технического переводчика

инкапсуляция — (incapsulatio; ин + лат. capsula ящичек, оболочка) процесс отграничения очага воспаления или инородного тела путем образования вокруг него фиброзной оболочки (капсулы) … Большой медицинский словарь

инкапсуляция — инкапсуляция, инкапсуляции, инкапсуляции, инкапсуляций, инкапсуляции, инкапсуляциям, инкапсуляцию, инкапсуляции, инкапсуляцией, инкапсуляциею, инкапсуляциями, инкапсуляции, инкапсуляциях (Источник: «Полная акцентуированная парадигма по А. А.… … Формы слов

инкапсуляция — инкапсул яция, и … Русский орфографический словарь

ИНКАПСУЛЯЦИЯ — (от лат. in — в, внутри и capsula —коробочка, ящичек), разрастание соединительной ткани вокруг инородных тел или мёртвых масс, образующихся в органах и тканях при различных патологических процессах … Ветеринарный энциклопедический словарь

Источник

ООП. Часть 3. Модификаторы доступа, инкапсуляция

Классы, методы и поля не всегда могут постоять за себя. Рассказываем, как быть защитником в объектно-ориентированном программировании.

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Инкапсуляция (от лат. in capsule — в оболочке) — это заключение данных и функционала в оболочку. В объектно-ориентированном программировании в роли оболочки выступают классы: они не только собирают переменные и методы в одном месте, но и защищают их от вмешательства извне (сокрытие).

Важно! Инкапсуляция не является сокрытием. Сокрытие — это часть инкапсуляции.

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

Все статьи про ООП

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Пишет о разработке сайтов, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.

Модификатор доступа public

Первый уровень, с которым сталкиваются все разработчики, — публичный. Чтобы сказать компилятору, что что-то должно быть доступно для всех, используется ключевое слово public.

Рассмотрим на примере класса Item:

Объявив экземпляр этого класса, можно обращаться к любым его полям в любом месте программы, где доступен сам объект (речь о локальных и глобальных переменных).

Так как поля публичные, в консоли они отобразятся без каких-либо проблем:

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

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

Из-за того, что поле публичное, оно изменится:

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Это плохо по нескольким причинам:

Разумеется, это не лучшее, что может случиться с приложением.

Модификатор доступа private

Чтобы поля были защищены от вмешательства, используется ключевое слово private — оно делает члены класса доступными только внутри самого класса.

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

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Есть два способа сделать поле доступным только для чтения. Первый — использовать ключевое слово readonly, но оно запрещает менять значение вообще.

Второй способ заключается в том, чтобы передавать значения приватного члена класса через публичный. Например, с помощью методов:

К такой практике прибегают Java-разработчики, но в C# есть более элегантный способ — свойства.

Теперь, чтобы получить данные, нужно обратиться к свойству, а не к полю:

Преимущество этого в том, что можно разрешить получать данные, но запретить их менять. То есть прописать только геттер:

Обратите внимание, что можно просто написать set; или get; если не требуется дополнительная логика. Это сработает, если у поля и свойства одинаковые имена и если это примитивный тип (int, float, char, double и другие). Со ссылочными типами (объекты и строки) это не работает.

Также можно менять логику работы со значением:

Здесь поле будет изменено только в том случае, если ему пытаются указать значение, которое выше нуля.

То есть если запустить вот такой код:

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Также можно создавать свойства без поля:

Это свойство вернёт true, если цена выше 5000, и false, если ниже.

Ключевое слово private можно также применять и к методам. Это делает их доступными только внутри класса.

Также приватным можно сделать сам класс, если он находится внутри другого класса:

Модификатор доступа internal

Иногда нужно сделать компонент доступным только внутри одного файла — например, в Program.cs, Item.cs или любом другом. Для этого используется ключевое слово internal.

Класс Backpack можно будет использовать только внутри файла Program.cs, и попытка объявить его внутри другого файла приведёт к ошибке.

Ключевое слово static

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

Метод Sum () используется в классе Program, хотя экземпляр класса Calc не создавался. При этом можно сделать статичным как отдельный метод или свойство, так и весь класс. В этом случае все поля и методы тоже должны быть статичными.

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

Другой пример — класс Math. Его можно использовать, чтобы выполнять различные математические операции (получение квадратного корня, модуляция, получение синуса, косинуса и так далее). У него много методов, а также он хранит различные константы вроде числа пи.

Домашнее задание

Напишите класс GameObject, в котором будут храниться координаты объекта. Координаты должны быть доступны для чтения, а их изменение должно происходить в методе Move ().

Заключение

Есть и другие ключевые слова:

Они будут рассмотрены в статье о наследовании.

Большая часть курса «Профессия С#-разработчик» посвящена именно ООП —
не только теории, но и практике. Вы научитесь писать программы, подбирая нужные инструменты — от инкапсуляции до полиморфизма. К концу курса у вас будет портфолио из нескольких проектов, а также все знания и навыки, которые нужны для получения первой работы.

Источник

Инкапсуляция в Си++ и Си

Что означает слово инкапсуляция. Смотреть фото Что означает слово инкапсуляция. Смотреть картинку Что означает слово инкапсуляция. Картинка про Что означает слово инкапсуляция. Фото Что означает слово инкапсуляция

Определение

Инкапсуляция это набор инструментов для управления доступом к данным или методам которые управляют этими данными. С детальным определением термина “инкапсуляция” можно ознакомиться в моей предыдущей публикации на Хабре по этой ссылке. Эта статья сфокусирована на примерах инкапсуляции в Си++ и Си.

Инкапсуляция в Си++

По умолчанию, в классе ( class ) данные и методы приватные ( private ); они могут быть прочитаны и изменены только классом к которому принадлежат. Уровень доступа может быть изменен при помощи соответствующих ключевых слов которые предоставляет Си++.

В Си++ доступно несколько спецификаторов, и они изменяют доступ к данным следующим образом:

Для краткости, только два уровня (приватный и публичный) будут освещены в примерах.

Пример инкапсуляции

Попытка напечатать или изменить приватную переменную mobile_number из основной программы ( main ) вызовет ошибку при компиляции потому как доступ к приватным данным в классе ограничен.

Нарушение инкапсуляции с Друзьями (Хорошая практика)

В Си++ присутствует ключевое слово “друг” ( friend ) которое позволяет добавить исключения в общие правила доступа к данным. Если функция или класс названы другом ( friend ) класса Contact — они получают свободный доступ к защищенным или приватным данным.

Существует два основных правила дружбы — дружба не наследуется и не взаимна. Также, наличие “друзей” не изменяет уровень защищенности данных — приватные данные остаются приватными с исключением в виде “друга”.

Примечание: друзьями лучше не злоупотреблять. Добавление друга стоит рассматривать как исключение, не как общую практику.

Нарушение инкапсуляции с Преобразованием типов и Указателями (Плохая практика)

Прежде всего, стоит заметить что использовать указатели и преобразование типов таким способом — плохая идея. Этот способ не гарантирует получения нужных данных. Он плохо читается и плохо поддерживается. Невзирая на это, он существует.

Си++ получил в наследство от Си множество инструментов, один из которых — преобразование типов ( typecasting ). По умолчанию, все переменные и методы в классе приватные. В то же время, стандартный уровень доступа к данным в структуре ( struct ) — публичный. Возможно создать структуру или полностью публичный класс в котором данные будут расположены идентично данным в классе Contact и используя преобразование типов получить доступ к приватным данным.

Приватные данные были прочитаны и изменены благодаря преобразованию типов

Инкапсуляция в Си

Традиционно считается что инкапсуляция — один из ключевых ООП принципов. Тем не менее, это не лимитирует использование этого принципа в процедурно-ориентированных языках. В Си, инкапсуляция используется давно, невзирая на отсутствие ключевых слов “приватный” и “публичный”.

Приватные переменные

В данном примере, структура была определена в отдельном исходном файле “private_var.c”. Поскольку инициализация структуры в Си требует выделения и освобождения памяти, несколько вспомогательных функций были добавлены.

В соответствующем заголовочном файле «private_var.h», структура Contact была объявлена, но ее содержание осталось скрытым для основной программы.

Таким образом, для “main.c” содержание структуры неизвестно и попытки прочитать или изменить приватные данные вызовут ошибку при компиляции.

Получение доступа к приватным переменным с Указателями

Преобразование типов может быть использовано для преодоления инкапсуляции в Си также как и в Си++, но данный подход уже был описан. Зная, что в структуре данные расположены в порядке их декларации, указатели и арифметика указателей подойдет для достижения цели.

Доступ к переменным в структуре ограничен. Тем не менее, спрятаны только переменные, не память в которой хранятся данные. Указатели можно рассматривать как ссылку на адрес памяти, и если эта память доступна программе — данные сохраненные в этой памяти можно прочитать и изменить. Если указатель назначен на память в которой структура хранит свои данные — их можно прочитать. Используя то же определение структуры (те же “.c” и “.h” файлы) и модифицированный “main.c” файл, ограничение доступа было преодолено.

Данные в структуре были прочитаны и модифицированы

Приватные функции

Функции, будучи внешними ( extern ) по умолчанию, видимы во всей так называемой единице трансляции ( translation unit ). Другими словами, если несколько файлов скомпилированы вместе в один объектный файл, любой из этих файлов сможет получить доступ к любой функции из любого другого файла. Использование ключевого слова “статический” ( static ) при создании функции ограничит ее видимость до файла в котором она была определена.Следовательно, для обеспечения приватности функции необходимо выполнить несколько шагов:

В соответствующем заголовочном файле «private_funct.h», print_numbers() была декларирована как статическая функция.

Получение доступа к приватным функциям

Вызвать функцию print_numbers() из основной программы возможно. Для этого можно использовать ключевое слово goto или передавать в main указатель на приватную функцию. Оба способа требуют изменений либо в исходном файле “private_funct.c”, либо непосредственно в теле самой функции. Поскольку эти методы не обходят инкапсуляцию а отменяют её, они выходят за рамки этой статьи.

Заключение

Инкапсуляция существует за пределами ООП языков. Современные ООП языки делают использование инкапсуляции удобным и естественным. Существует множество способов обойти инкапсуляцию и избежание сомнительных практик поможет ее сохранить как в Си, так и в Си++.

Источник

Инкапсуляция

Смотреть что такое «Инкапсуляция» в других словарях:

Инкапсуляция — (лат. in в, capsula коробочка ; итал. incapsulare закупоривать) 1. Изоляция, закрытие чего либо мешающего, ненужного, вредного с целью исключения отрицательного влияния на окружающее. (Поместить радиоактивные отходы в капсулу, закрыть… … Википедия

ИНКАПСУЛЯЦИЯ — (лат.). Изменение одних слов в другие, в американских языках. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. инкапсуляция (лат. in в) образование капсулы 1 вокруг чуждых для организма веществ (инородных тел,… … Словарь иностранных слов русского языка

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

инкапсуляция — инкапсулирование Словарь русских синонимов. инкапсуляция сущ., кол во синонимов: 1 • инкапсулирование (1) Словарь синонимов ASIS … Словарь синонимов

инкапсуляция «IP в IP» — Для инкапсуляции в дейтаграмму IP используется инкапсуляция IP в IP (IP in IP), для этого перед существующим заголовком IP дейтаграммы вставляется внешний заголовок IP (МСЭ Т Y.1281). [http://www.iks media.ru/glossary/index.html?glossid=2400324]… … Справочник технического переводчика

ИНКАПСУЛЯЦИЯ — (от лат capsula ящик, капсула, сумка), осумкование, термин, употребляющийся для обозначения разрастания соединительнотканной капсулы, сумки вокруг тех или иных пат. образований, паразитов и пр. тел, не подвергающихся почему либо рассасыванию в… … Большая медицинская энциклопедия

инкапсуляция — скрытие включение вбирание Термин объектно ориентированного программирования, означающий структурирование программы на модули особого вида, называемые классами и объединяющие данные и процедуры их обработки, причем внутренние данные класса не… … Справочник технического переводчика

инкапсуляция — (incapsulatio; ин + лат. capsula ящичек, оболочка) процесс отграничения очага воспаления или инородного тела путем образования вокруг него фиброзной оболочки (капсулы) … Большой медицинский словарь

инкапсуляция — инкапсуляция, инкапсуляции, инкапсуляции, инкапсуляций, инкапсуляции, инкапсуляциям, инкапсуляцию, инкапсуляции, инкапсуляцией, инкапсуляциею, инкапсуляциями, инкапсуляции, инкапсуляциях (Источник: «Полная акцентуированная парадигма по А. А.… … Формы слов

инкапсуляция — инкапсул яция, и … Русский орфографический словарь

ИНКАПСУЛЯЦИЯ — (от лат. in — в, внутри и capsula —коробочка, ящичек), разрастание соединительной ткани вокруг инородных тел или мёртвых масс, образующихся в органах и тканях при различных патологических процессах … Ветеринарный энциклопедический словарь

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *