Программа «зависнет»


Download 49.89 Kb.
bet7/11
Sana18.06.2023
Hajmi49.89 Kb.
#1593438
TuriПрограмма
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
osnova tozasi javobla1

10. Инкапсуляция в C#.
Инкапсуляция — это возможность (механизм) с помощью которой мы можем спрятать от конечного пользователя реализацию того или иного метода, устройства объекта и так далее и представить в пользование только то, что необходимо для работы, обеспечив тем самым целостность объекта. Инкапсуляция –механизм, позволяющий скрыть код класса (поля, методы, функции) и ограничить доступ к коду и данным из других участков кода. Инкапсуляция определяется как процесс включения одного или нескольких элементов в физический или логический пакет. Инкапсуляция в методологии объектно-ориентированного программирования препятствует доступу к деталям реализации. Абстракция и инкапсуляция связаны с объектно-ориентированным программированием. Абстракция позволяет сделать соответствующую информацию видимой, а инкапсуляция позволяет программисту реализовать желаемый уровень абстракции. Инкапсуляция реализуется с использованием спецификаторов доступа. Спецификатор доступа определяет область видимости члена класса. C # поддерживает следующие спецификации доступа-общественного Частный защищенный внутренний Защищенный внутренний. Опять же, определение может быть немного трудным для понимания, поэтому разберемся с ним подробнее и на примерах. Пример инкапсуляции
Конечным пользователем объекта, в большинстве случаев, является программист. И не всегда этим самым программистом будете вы.
private double height;
public double Height
{
get => height;
set => height = value > 0 ? value : throw new Exception("Высота здания не может быть менее 0 метров");
}
Что бы произошло, если бы мы не использовали инкапсуляцию и не скрыли бы от пользователя переменную height, а написали бы код «на заморачиваясь», например, вот так:
public double height;
Как минимум, это привело бы к тому, что мы могли бы задать отрицательное значение высоты здания, что не совсем логично, даже если это какое-то подземное сооружение. Этот только маленький пример того для чего в C# и других языках программирования используется инкапсуляция.



Download 49.89 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling