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

Термин «абстракция данных» относится к практике выбора только важных характеристик элемента без учета остальных. Характеристики и действия вещи отличают ее от других в своем роде и помогают классифицировать ее.

Абстрактные классы и программные интерфейсы — это средства, с помощью которых в Java осуществляется абстракция. Используя интерфейсы, мы можем добиться полной абстракции.

Продолжительность курса разработчика Java может варьироваться от шести недель до одного года.

ИСПОЛЬЗОВАНИЕ РЕЗЮМЕ КЛАССОВ И РЕЗЮМЕ МЕТОДОВ

  1. Объявление ключевого слова abstract делает класс абстрактным.
  2. Методы, которые определены, но не реализованы, считаются абстрактными.
  3. Ни один или все методы класса не должны быть абстрактными, чтобы он считался абстрактным классом. Возможно, некоторые из них являются реальными полезными методами.
  4. Когда создается абстрактный метод, подкласс всегда должен переопределять его, принудительно переопределяя или делая подкласс абстрактным.
  5. Ключевое слово abstract должно использоваться при объявлении класса, имеющего какие-либо абстрактные методы.
  6. Абстрактные классы не имеют конкретных экземпляров. Иными словами, оператор new нельзя использовать для создания экземпляра абстрактного класса.
  7. Функция по умолчанию Object() { [собственный код] } присутствует в каждом абстрактном классе, и разрешены параметризованные конструкторы.

КОГДА ИСПОЛЬЗОВАТЬ РЕФЕРАТНЫЕ ЗАНЯТИЯ И РЕФЕРАТНЫЕ МЕТОДЫ С ПРИМЕРОМ

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

Возьмем в качестве примера вездесущую «форму» в САПР или игровом симуляторе. Каждая форма имеет свой уникальный цвет, размер и другие атрибуты, а «форма» является основным типом данных. Различные формы, такие как круги, квадраты, треугольники и т. д., наследуют это свойство и могут отображать широкий спектр возможных вариантов поведения и характеристик. Некоторые формы, например, могут быть инвертированы. Например, при попытке определить область формы вы можете столкнуться с неожиданным поведением. Иерархия типов представляет параллели и расхождения между формами и структурами.

ИНКАПСУЛЯЦИЯ ПРОТИВ АБСТРАКЦИИ ДАННЫХ

  1. Скрыть информацию с помощью инкапсуляции и скрыть детали с помощью абстракции (скрытие реализации).
  2. В отличие от инкапсуляции, которая объединяет данные и методы, работающие с данными, абстракция данных направлена ​​на то, чтобы сделать интерфейс понятным для пользователя, скрывая при этом детали реализации.
  3. В то время как абстрактные классы и интерфейсы могут использоваться для создания абстракции, инкапсулированные классы в Java предназначены для сокрытия данных от посторонних глаз.
  4. Разница между инкапсуляцией и абстракцией заключается в том, что первая происходит на этапе реализации, а вторая — на этапе проектирования.

Курс веб-разработки на Java улучшит ваши навыки.

ПРЕИМУЩЕСТВА АБСТРАКЦИИ

  1. В результате повышается простота.
  2. Снижает вероятность ошибок, вызванных дублированием кода, и максимизирует повторное использование кода.
  3. Способствует лучшей защите конфиденциальных данных внутри программного обеспечения или приложения, ограничивая доступ пользователей только к той информации, которая им необходима для ее использования.
  4. В результате повышается ремонтопригодность приложения.
  5. В результате повышается модульность приложения.
  6. Поскольку мы можем вносить любые коррективы в нашу внутреннюю систему, внедрение обновления не составит труда.

// Java-программа для иллюстрации

// концепция абстракции

абстрактный класс Shape {

Цвет строки;

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

абстрактная двойная область();

общедоступная абстрактная строка toString();

// абстрактный класс может иметь конструктор

общедоступная форма (цвет строки)

{

System.out.println("Вызван конструктор формы");

этот.цвет = цвет;

}

// это конкретный метод

public String getColor() { возвращаемый цвет; }

}

класс Circle расширяет форму {

двойной радиус;

публичный круг (цвет строки, двойной радиус)

{

// вызов конструктора формы

супер(цвет);

System.out.println("Вызван конструктор круга");

this.radius = радиус;

}

@Переопределить двойную область()

{

return Math.PI * Math.pow(радиус, 2);

}

@Переопределить общедоступную строку toString()

{

вернуть «Цвет круга» + super.getColor()

+ «и площадь: « + площадь();

}

}

класс Rectangle расширяет форму {

двойная длина;

двойная ширина;

общедоступный прямоугольник (цвет строки, двойная длина,

двойная ширина)

{

// вызов конструктора формы

супер(цвет);

System.out.println("Вызван конструктор прямоугольника");

это.длина = длина;

this.width = ширина;

}

@Override double area() { возвращаемая длина * ширина; }

@Переопределить общедоступную строку toString()

{

return "Цвет прямоугольника" + super.getColor()

+ «и площадь: « + площадь();

}

}

открытый класс Тест {

public static void main (аргументы String [])

{

Форма s1 = новый круг («Красный», 2.2);

Форма s2 = новый прямоугольник («Желтый», 2, 4);

System.out.println(s1.toString());

System.out.println(s2.toString());

}

}

Выход

Конструктор формы называется

Конструктор круга называется

Конструктор формы называется

Вызывается конструктор прямоугольника

Цвет круга красный и площадь: 15.205308443374602

Цвет прямоугольника — желтый, а площадь: 8,0.

Курс разработки Java-приложений улучшит вашу карьеру.