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

Классы и объекты в Java: практическое руководство

Классы и объекты в Java

Узнайте, как объектная модель Java превращает реальные концепции в переиспользуемый код.

Java фундаментально объектно-ориентирована. Она разбивает сложные проблемы на управляемые, самодостаточные сущности — объекты — каждый из которых имеет состояние и поведение.

Объект может быть чем угодно, что хранит данные (состояние) и предлагает действия (поведение). Например, велосипед имеет:

Прежде чем погрузиться в объекты, изучим чертеж, определяющий их: класс.


Класс в Java

Класс — это шаблон, из которого создаются объекты. Представьте его как план дома, указывающий этажи, двери и окна. Из одного плана можно построить много домов, так же как из одного класса — много объектов.


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

Определите класс с ключевым словом class:

class ClassName {
    // поля
    // методы
}

Поля (переменные) хранят состояние объекта, а методы инкапсулируют его поведение.

Пример: класс Bicycle.

class Bicycle {
    // состояние
    private int gear = 5;
    // поведение
    public void braking() {
        System.out.println("Working of Braking");
    }
}

Здесь Bicycle — прототип. Можно создать множество экземпляров велосипеда, каждый со своей структурой, но независимыми данными.

Примечание: private и public — модификаторы доступа, управляющие видимостью. Подробнее: Модификаторы доступа в Java.


Объекты в Java

Объект — это экземпляр класса. Например, Bicycle — класс, а MountainBicycle, SportsBicycle, TouringBicycle — отдельные объекты, созданные из этого класса.

Создание объекта в Java

Создайте объект с ключевым словом new и конструктором класса:

className object = new className(); // Для Bicycle
Bicycle sportsBicycle = new Bicycle();
Bicycle touringBicycle = new Bicycle();

Конструкторы — специальные методы с именем класса. Подробнее: Конструкторы в Java.

Имена вроде sportsBicycle и touringBicycle служат ссылками на соответствующие экземпляры.

Несколько экземпляров одного класса могут сосуществовать без взаимного влияния.

Примечание: Поля и методы класса коллективно называются членами (members).


Доступ к членам класса

Используйте оператор точку с ссылкой на объект для доступа к его членам:

class Bicycle {
    int gear = 5;
    void braking() { ... }
}
Bicycle sportsBicycle = new Bicycle();
sportsBicycle.gear;
sportsBicycle.braking();

Здесь sportsBicycle обращается к полю gear и вызывает метод braking().

В следующей главе мы подробно рассмотрим методы Java.

Ниже полный пример, объединяющий эти концепции.


Пример: Класс и объекты в Java

class Lamp {
    // отслеживает, горит ли лампа
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Light on? " + isOn);
    }
    void turnOff() {
        isOn = false;
        System.out.println("Light on? " + isOn);
    }
}
class Main {
    public static void main(String[] args) {
        Lamp led = new Lamp();
        Lamp halogen = new Lamp();
        led.turnOn();
        halogen.turnOff();
    }
}

Вывод:

Light on? true
Light on? false

В программе класс Lamp определяет переменную экземпляра isOn и два метода, манипулирующие ею. Класс Main создает два объекта лампы — led и halogen — и вызывает их методы независимо.

Каждый объект хранит свою копию isOn, гарантируя, что операции над одной лампой не влияют на другую.


Пример: Создание объектов внутри того же класса

Объекты также могут создаваться внутри класса, их определяющего. Вот как:

class Lamp {
    boolean isOn;
    void turnOn() {
        isOn = true;
        System.out.println("Light on? " + isOn);
    }
    public static void main(String[] args) {
        Lamp led = new Lamp();
        led.turnOn();
    }
}

Вывод

Light on? true

Этот паттерн полезен для небольших демонстраций или утилитарных классов, где основная логика находится в том же классе.

java

  1. Классы и объекты в C++: практическое руководство по объектно-ориентированному программированию
  2. Переменные и литералы в Java: подробное руководство
  3. Ключевое слово final в Java: переменные, методы и классы
  4. Оператор instanceof в Java: полное руководство с примерами
  5. Абстрактные классы и методы в Java: полное руководство
  6. Вложенные и внутренние классы в Java: типы, примеры и лучшие практики
  7. Статические вложенные классы в Java: использование, отличия и примеры
  8. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  9. Паттерн Singleton в Java: как реализовать и безопасно использовать
  10. Рефлексия в Java: инспекция классов, методов и полей во время выполнения