JavaRush /Java блог /Random UA /Кава-брейк #166. Навіщо потрібна інкапсуляція Java? Три с...

Кава-брейк #166. Навіщо потрібна інкапсуляція Java? Три способи використання функції Print у Java

Стаття з групи Random UA

Навіщо потрібна інкапсуляція Java?

Джерело: Use My Notes З цієї публікації ви дізнаєтеся, навіщо потрібна інкапсуляція в об'єктно-орієнтованому програмуванні. У статті розглянуто концепцію її роботи та способи реалізації мовою Java. Кава-брейк #166.  Навіщо потрібна інкапсуляція Java?  Три способи використання функції Print в Java - 1

Що таке інкапсуляція в Java

Інкапсуляція - це концепція в мові Java, яка поєднує дані та методи, що працюють з ними, в єдине ціле - в одну упаковку або оболонку. Простіше кажучи, інкапсуляція поєднує змінні та методи в одному класі.

Навіщо нам потрібна інкапсуляція у Java?

  • Щоб код залишався чистим та організованим.
  • Для кращого контролю доступу до інкапсульованих членів.
  • Щоб краще розуміти код.
Давайте розберемося з цією концепцією на невеликому прикладі:
class MyBankAccount {
    private int acc_number;
    private int acc_balance;

    public MyBankAccount(int acc_number, int acc_balance) {
        this.acc_number = acc_number;
        this.acc_balance = acc_balance;
    }

    public int printAccountBalance() {
        System.out.println("Balance: " + acc_balance);
    }

    public int printAccountNumber() {
        System.out.println("Account Number: " + acc_number);
    }

    public void depositMoney(int money) {
        acc_balance = acc_balance + money;
    }
}
Тут у нас є клас MyBankAccount з конструктором, двома змінними та трьома методами. Ці члени класу пов'язані один з одним, тому вони в одному класі. Клас MyBankAccount інкапсулює або об'єднує вміст класу і весь цей код діє як єдине ціле. Тепер, просто глянувши на ім'я класу, тобто на “MyBankAccount”, ми можемо припустити, що він має баланс рахунку та номер рахунку (які він має як змінні). Банківські рахунки пов'язані з грошовими транзакціями, такими як внесення грошей, роздрук залишків на рахунках і так далі. Ці транзакції виконуються за допомогою методів, що відповідають наведеному вище класу. Як ми бачимо, це покращило читання та підтримку коду. Припустимо, ми маємо 100 класів, і кожен клас має від 5 до 10 методів і майже таку ж кількість змінних. З інкапсуляцією нам набагато простіше знайти певні методи або змінні, просто припустивши, до якого класу вони можуть належати.

Як концепція інкапсуляції може допомогти у роботі?

Інкапсуляція в програмуванні має кілька переваг, ми їх просто не усвідомлюємо, поки не побачимо в роботі. У сучасному світі все так чи інакше цифрове та програмне. Існує багато мов програмування, якими генерується величезна кількість коду розробки софта чи бібліотек програмування. Всі вони так чи інакше інкапсульовані. Без інкапсуляції програмування було б безладним (особливо індустрії ПО). Інкапсуляція в Java:
  • Допомагає організувати код краще та зрозуміліше.
  • Дозволяє докладати менше зусиль у супроводі великої кількості коду.
  • Знижує складність керування кодом.
  • Поділяє код на частини.
  • Підвищує читабельність.

А якби інкапсуляції не було?

Є мови програмування, у яких немає концепції інкапсуляції. Одним із них є мова програмування C. У нього немає поняття інкапсуляції. Код може бути розкиданий файлуми, і кожен файл може мати будь-яку змінну або функцію, які можуть бути пов'язані або не пов'язані один з одним. Це створює плутанину в керуванні кодом та збільшує складність. Без інкапсуляції:
  • Код може стати неорганізованим чи безладним.
  • Збільшується складність підтримки коду.
  • Ускладнюється налагодження коду.
  • Знижується читабельність.
Я сподіваюся, що тепер ви краще розумієте інкапсуляцію та її використання у програмуванні на Java. Дякую за читання.

Три способи використання функції Print у Java

Джерело: FreeCodeCamp Далеко не всі розробники знають про три різні функції/оператори Print в Java. Автор цієї статті розповість про них та покаже, як вони працюють на прикладах. Кава-брейк #166.  Навіщо потрібна інкапсуляція Java?  Три способи використання функції Print у Java - 2

Як використовувати функцію println() в Java

Функція println() додає новий рядок після друку значення/даних у ньому. Тут суфікс ln працює як символ нового рядка \n . Давайте подивимося на приклад коду:
public class Main{
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
Якщо поки що не дуже зрозуміло, що саме відбувається, то коротко це можна пояснити так. Коли ви друкуєте лише один рядок, то отримуєте на висновку ось що:
Hello World!
А тепер, якщо ви спробуєте надрукувати кілька різних виразів, використовуючи println() , то ясно видно різниця!
public class Main{
    public static void main(String[] args) {
        System.out.println("Hello World!");
        System.out.println("Welcome to freeCodeCamp");
    }
}
Як можна помітити, після першого оператора друку додається один символ нового рядка ( \n ). Таким чином, ви отримуєте другий оператор друку Welcome to freeCodeCamp у наступному рядку. Весь висновок буде таким, як показано нижче:
Hello World! Welcome to freeCodeCamp
Але чи немає способу уникнути автоматично згенерованого символу нового рядка функції print ? Є! У цьому випадку вам потрібно використовувати оператор print() .

Як використовувати функцію print() в Java

Для демонстрації цієї функції дозвольте мені використати приклад, який допоможе одразу побачити різницю:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!");
        System.out.print("Welcome to freeCodeCamp");
    }
}
Як ви бачите, я використовував print замість використання println як раніше. Оператор print не додає додатковий \n як символ нового рядка після виконання завдання у ньому. Тобто, ви не отримаєте ще один новий рядок на висновку, а буде приблизно так:
Hello World! Welcome to freeCodeCamp
Якщо хочете, ви можете вирішити проблему \n , як показано нижче:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!\n");
        System.out.print("Welcome to freeCodeCamp");
    }
}
Цього разу \n працюватиме як символ нового рядка, і ви отримаєте другий рядок. Ось результат:
Hello World! Welcome to freeCodeCamp
Ви також можете роздрукувати два рядки, використовуючи лише один оператор print , як показано нижче:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!\nWelcome to freeCodeCamp");
    }
}
Висновок буде таким самим:
Hello World! Welcome to freeCodeCamp

Як використовувати функцію printf() в Java

Функція printf() працює як форматована функція print . Щоб краще зрозуміти, ось два сценарії: Сценарій 1 . Ваш друг Томмі хоче, щоб ви передали йому PDF-файл електронною поштою. Ви можете просто створити електронний лист, вказати тему на свій розсуд (наприклад, привіт Томмі, це Джим). Ви навіть можете нічого не писати в основній частині електронного листа і відправити порожній e-mail лише прикріпивши PDF-файл. Сценарій 2 . Ви не змогли вчора прийти на заняття. Ваш викладач попросив вас надати причини відсутності з доказами та надіслати документи електронною поштою. Тут ви не можете надіслати листа своєму професору так, як ви це робабо для свого друга Томмі. Вам потрібно дотриматись певної формальності та належного етикету. Тобто в листі ви повинні вказати формальну тему та написати необхідну інформацію в основній частині. І останнє, але не менш важливе: ви повинні прикріпити документ до свого електронного листа після його перейменування відповідно до належної угоди про імена. Ідеться про те, що вам потрібно відформатувати свій електронний лист так, як від вас вимагають. Функція printf() допомагає реалізувати другий сценарій. Якщо ми хочемо вказати конкретний формат/стиль друку, ми використовуємо саме функцію printf() . Наведу короткий приклад, як це працює:
public class Main{
    public static void main(String[] args) {
        double value = 2.3897;
        System.out.println(value);
        System.out.printf("%.2f" , value);
    }
}
Тут я оголошую змінну типу double з ім'ям value і надаю їй значення 2.3897 . Тепер, коли я використовую функцію println() , вона друкує значення з чотирма цифрами після точки числення. Ось результат:
2.3897 2.39
Після цього, коли я використовую функцію printf() , я можу змінити вихідний потік, щоб функція виводила значення. Тут я повідомляю функції, що хочу, щоб після точки числення виводилося дві цифри. Таким чином, функція друкує округлене значення до двох цифр після обчислення. І це лише один із способів використання функції printf() . Майте на увазі, що вона має безліч застосувань у мові Java.
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ