Чем представлена абстракция (принцип ООП) в Java? Если инкапсуляция в Java представлена модификаторами доступа, то чем представлена абстракция?

1 Дек 2019 в 19:54
213 +1
2
Ответы
1

Абстрактный класс в объектно-ориентированном программировании на java — базовый класс, который не предполагает создания экземпляров.

Абстрактные классы реализуют на практике один из принципов ООП — полиморфизм.  

Абстрактный класс может содержать (и не содержать[1]) абстрактные методы и свойства.

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

Абстрактные классы представляют собой наиболее общие абстракции, то есть имеющие наибольший объём и наименьшее содержание.

Абстракция для выделения в моделируемом предмете важного для решения конкретной задачи, в конечном счёте — формализуемое в виде класса;

Невозможно создать объекты из абстрактного класса, но возможно создать объекты из класса, который расширяет абстрактный класс.

Абстрактным методом (модификатор abstract) в Java называется метод, для которого заданы параметры и тип возвращаемого значения, но не задано тело.

Абстрактный метод реализуется в классах-наследниках. Для объявления абстрактного класса тспользуется ключевое слово abstract.

Абстракция на java это своего рода обобщение свойств будущих объектов наследников.

Пример абстрактного класса:

public abstract class SphericalHorse {

   // абстрактный метод ржать()

   abstract void neigh();

  

   @Override

   void gallop() { // абстрактный класс может содержать и обычный метод, хотя этого делать не желательно

       System.out.println("Галоп");

   }

}


В классах-наследниках должны буть реализованы все абстрактные методы.

Например:


public class Horse extends SphericalHorse{

   public void neigh(){ //реализация метода абстрактного класса

    System.out.println("И-го-го!");

   }

}

Интерфейсы на java представляют из себя объявления методов, которые должны быть реализованы в классе.То есть, формально, до спецификации java 8 представляют из себя список абстрактных методов. Но начиная с java 8 интерфейсы могут содержать в себе реализации методов по умолчанию.

Пример:

interface Iface{

   void method();

}

22 Дек 2020 в 04:56
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир