Класи та об’єкти/Пакети/Модифікатори доступу та інкапсуляція

Прокрутити вниз

Курси Java класи та об’єкти/пакети/модифікатори доступу та інкапсуляція

В Java класи, об’єкти, пакети та модифікатори доступу є основоположними концепціями об’єктно-орієнтованого програмування (ООП). Розглянемо кожну з цих тем детальніше:

1. Класи та об’єкти

  • Клас — це шаблон або структура, яка визначає властивості (поля) та поведінку (методи) об’єктів. Класи є основою ООП у Java.
  • Об’єкт — це конкретний екземпляр класу. Кожен об’єкт має свій стан (значення полів) і методи (поведінка).Приклад класу:
    public class Car {
    String model;
    int year;

void start() {
System.out.println(“Автомобіль запущено”);
}
}

Створення об’єкта класу:
Car myCar = new Car();
myCar.model = “Toyota”;
myCar.year = 2020;
myCar.start();

2. Пакети

Пакет в Java — це спосіб організації класів та інтерфейсів. Пакети дозволяють уникнути конфліктів імен між класами та структурувати код для зручності.

Створення пакету:
package mypackage;

public class MyClass {
// код класу
}

Пакети використовуються для організації проекту та можуть бути імпортовані в інші частини коду:
import mypackage.MyClass;

3. Модифікатори доступу

Модифікатори доступу визначають рівень видимості класів, методів та полів. Вони контролюють, як об’єкти та класи взаємодіють між собою. Основні модифікатори:

  • public: Доступ до елементу дозволено з будь-якого місця програми.
  • private: Доступ до елементу дозволено лише в межах самого класу.
  • protected: Доступ дозволений у межах одного пакету або у класах-нащадках.
  • (без модифікатора): Видимість обмежена поточним пакетом (package-private).

Приклад:

public class Person {
public String name; // доступний всюди
private int age; // доступний лише в цьому класі
protected String address; // доступний в межах пакету та у підкласах

private void printAge() {
System.out.println(age);
}
}

4. Інкапсуляція

Інкапсуляція — це механізм приховування даних класу, щоб захистити їх від некоректного використання. Це досягається через приватні поля та публічні методи доступу (геттери і сеттери).

Приклад інкапсуляції:

public class Employee {
private String name;
приватна інт зарплата;

// Геттер для отримання значення поля
public String getName() {
return name;
}

// Сеттер для встановлення значення поля
public void setName(String name) {
this.name = name;
}

public int getSalary() {
повернення зарплати;
}

public void setSalary(int salary) {
this.salary = salary;
}
}

Використання інкапсуляції забезпечує контроль над тим, як поля класу змінюються, а також дозволяє створювати інтерфейси, через які інші частини програми можуть безпечно взаємодіяти з класами.

Для більш детальної інформації можна звернутися до офіційної документації Java або ресурсів, що пояснюють ООП у контексті Java.

Класи та об’єктиПакетиМодифікатори доступу та інкапсуляція