Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Инкапсуляция в ООП Java с примером


Что такое инкапсуляция в Java?

Инкапсуляция в Java представляет собой механизм объединения переменных (данных) и методов (кода) в единое целое. Это процесс сокрытия информации и защиты данных и поведения объекта. Это одна из четырех важных концепций ООП. Класс encapsulate легко тестировать, поэтому он также лучше подходит для модульного тестирования.

В этом уроке вы узнаете-

Нажмите здесь, если видео недоступно

Изучите инкапсуляцию на примере

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

class Account {
    private int account_number;
    private int account_balance;

    public void show Data() {
        //code to show data 
    }

    public void deposit(int a) {
        if (a < 0) {
            //show error 
        } else
            account_balance = account_balance + a;
    }
}

Предположим, хакеру удалось получить доступ к коду вашего банковского счета. Теперь он пытается внести сумму -100 на ваш счет двумя способами. Давайте посмотрим на его первый метод или подход.

Подход 1: Он пытается внести недопустимую сумму (например, -100) на ваш банковский счет, манипулируя кодом.

Теперь вопрос:Возможно ли это? Пусть исследует.

Обычно переменная в классе устанавливается как «частная», как показано ниже. Доступ к нему возможен только с помощью методов, определенных в классе. Ни один другой класс или объект не может получить к ним доступ.

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

Таким образом, в нашем случае хакер не может внести сумму -100 на ваш счет.

Подход 2 :при первом подходе хакера не удалось внести сумму. Затем он пытается внести сумму -100, используя метод «депозита».

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

Таким образом, вы никогда не раскрываете свои данные посторонним лицам. Что делает ваше приложение безопасным.

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

Сокрытие данных в Java

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

Чтобы добиться меньшей степени инкапсуляции в Java, вы можете использовать такие модификаторы, как «защищенный» или «публичный». Благодаря инкапсуляции разработчики могут легко изменять одну часть кода, не затрагивая другую.

Геттер и сеттер в Java

Getter и Setter в Java два обычных метода, используемых для извлечения и обновления значений переменной. В основном они используются для создания, изменения, удаления и просмотра значений переменных. Метод установки используется для обновления значений, а метод получения используется для чтения или извлечения значений. Они также известны как средства доступа и изменения.

Следующий код является примером методов получения и установки:

class Account{ 
private int account_number;
private int account_balance; 
    // getter method
	public int getBalance() {
        return this.account_balance;
    }
    // setter method
	public void setNumber(int num) {
        this.account_number = num;
    }
}

В приведенном выше примере метод getBalance() — это метод получения, который считывает значение переменной account_balance, а метод setNumber() — это метод установки, который устанавливает или обновляет значение для переменной account_number.


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

Часто инкапсуляция неправильно понимается с абстракцией. Давайте учиться-

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

Преимущества инкапсуляции в Java


java

  1. Инкапсуляция Java
  2. Приведение типов Java
  3. Метод String Length() в Java:как найти на примере
  4. Метод Java String charAt() с примером
  5. Строка Java содержит () Метод | Проверить подстроку с примером
  6. Метод Java String endWith() с примером
  7. Java BufferedReader:как читать файл в Java с примером
  8. Алгоритм сортировки вставками в Java с примером программы
  9. Сортировка выбором в программе Java с примером
  10. Java — инкапсуляция