Java для начинающих: классы и объекты

Описание реальных объектов с помощью ООП

Объектно-ориентированное программирование (ООП) позволяет описывать реальные объекты. В качестве примера рассмотрим транспортное средство. Мы создадим класс, описывающий общие характеристики транспорта, и несколько объектов, представляющих конкретные транспортные средства (например, BMW или грузовик).

Создание класса в Java

Классы в Java обычно создаются в отдельных файлах. Создайте новый файл Java-класса. Назовите его Транспорт (CamelCase: первая буква заглавная, остальные строчные). IDE автоматически создаст файл Транспорт.java. Если пакеты файлов совпадают, можно обращаться к классам из разных файлов.

Структура класса и модификаторы доступа

Для создания класса используется ключевое слово class и имя класса. Внутри класса описываются характеристики (поля – переменные класса) и методы. Рассмотрим модификаторы доступа:

  • public: Обеспечивает доступ к полю, методу или классу из любого места.
  • protected: Доступ внутри класса, а также в классах-наследниках (рассмотрим позже).
  • private: Доступ только внутри класса.

В нашем примере будем использовать public.

Поля класса

Создадим четыре поля для класса Транспорт:

  • float speed; – скорость
  • int weight; – вес
  • String color; – цвет
  • byte[] coordinates; – координаты (массив байтов)

Создание и использование объектов

Для создания объекта указывается тип данных (имя класса) и имя объекта, затем используется оператор new с именем класса и пустыми круглыми скобками:

Транспорт bmw = new Транспорт();

После создания объекта можно обращаться к его полям через точку:

bmw.speed = 250;
bmw.weight = 2500;
bmw.color = "white";
bmw.coordinates = new byte[]{0, 0, 0};

Можно создавать множество объектов на основе одного класса, каждый со своими значениями полей.

Методы класса

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

public void setValues(float speed_, int weight_, String color_, byte[] coordinates_) {
    speed = speed_;
    weight = weight_;
    color = color_;
    coordinates = coordinates_;
}

public String getDetails() {
    String info = "Скорость: " + speed + "\nВес: " + weight + "\nЦвет: " + color + "\nКоординаты: ";
    String infoCoords = "";
    for (int i = 0; i < coordinates.length; i++) {
        infoCoords += coordinates[i] + "\n";
    }
    return info + infoCoords;
}

Различие между public и private (на примере)

Если поле объявлено как private, доступ к нему извне класса невозможен. Измените модификатор доступа поля speed на private и убедитесь, что возникнут ошибки при попытке доступа к нему извне класса.

Пример использования

Создадим объект Грузовик:

Транспорт truck = new Транспорт();
truck.setValues(140.5f, 5600, "red", new byte[]{100, 0, 100});

Выведем информацию о созданных объектах:

bmw.setValues(250, 2500, "white", new byte[]{0, 0, 0});
System.out.println(bmw.getDetails());
System.out.println(truck.getDetails());

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

Что будем искать? Например,программа