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

Абстракция в Java: упрощение кода и повышение читаемости

Абстракция — скрытие деталей реализации, предоставление только функциональности. Пользователь знает что делает объект, но не как. В Java достигается через абстрактные классы и интерфейсы.

Абстрактный класс

Класс с ключевым словом abstract.

Пример: абстрактный класс Employee


public abstract class Employee {
    private String name, address; private int number;
    public Employee(String name, String address, int number) { ... }
    public double computePay() { System.out.println("Inside Employee computePay"); return 0.0; }
    public void mailCheck() { System.out.println("Mailing check to " + name); }
    // геттеры/сеттеры...
}

Попытка инстанцирования вызывает ошибку компиляции: Employee is abstract; cannot be instantiated.

Наследование абстрактного класса


public class Salary extends Employee {
    private double salary;
    public Salary(String name, String address, int number, double salary) { ... }
    @Override
    public void mailCheck() { ... }
    @Override
    public double computePay() { return salary / 52; }
}

Можно создавать экземпляры Salary и использовать поля/методы Employee.

Абстрактные методы

Важно: в конечном итоге какой-то потомок должен реализовать метод, иначе цепочка абстрактных классов не будет инстанцируемой.

Пример реализации


public class Salary extends Employee {
    private double salary;
    @Override
    public double computePay() {
        System.out.println("Computing salary pay for " + getName());
        return salary / 52;
    }
}

java

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