Изучите абстракцию данных в Java

Опубликовано: 2021-11-11

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

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

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

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

Оглавление

Различия между абстрактным классом и абстрактным методом

Различия между абстрактным классом и абстрактным методом:

1. Абстрактные классы — это те классы, которые объявлены с помощью ключевого слова abstract.

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

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

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

5. Если какой-либо класс содержит какие-либо абстрактные методы, будь то один абстрактный метод или более, он должен быть объявлен абстрактным с помощью ключевого слова abstract.

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

7. В абстрактном классе всегда присутствуют конструкторы по умолчанию. Также в абстрактном классе могут присутствовать параметризованные конструкторы.

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

Язык программирования Java реализует абстракцию через абстрактные классы. Абстрактный класс может быть определен как тот класс, который объявлен с ключевым словом «абстрактный» со специальной инструкцией, что эти классы не могут быть созданы. Эти классы могут содержать или не содержать абстрактные методы.

Синтаксис абстрактного класса в Java показан ниже.

Приведенный выше код взят с https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

В приведенном выше синтаксисе можно заметить, что как абстрактные, так и неабстрактные методы могут содержаться в абстрактном классе. Также перед объявлением класса ставится ключевое слово «абстрактный».

Подробнее об абстрактном классе Java читайте здесь.

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

Абстрактные методы Java — это те методы, которым предшествует ключевое слово «абстрактный», но нет реализации этих методов. Абстрактные методы Java объявляются в абстрактном классе Java.

Из-за абстрактных методов абстрактный класс Java становится неполным, поскольку методы не могут быть реализованы. Поэтому включение абстрактной формы в абстрактный класс естественным образом делает абстрактный класс неполным.

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

абстрактное недействительное имя_метода (список_параметров);

При написании метода реферата следует учитывать несколько правил.

  • Если класс содержит более одного абстрактного метода, то класс станет абстрактным классом.
  • При определении абстрактного класса и методов не должно быть никаких ключевых слов, кроме «abstract».

Учитывая вышеизложенное, в Java не разрешены следующие возможности.

  • окончательный
  • абстрактный родной
  • абстрактный статический
  • абстрактный частный
  • абстрактный синхронизированный
  • абстрактный

Пример абстракции данных в Java показан ниже.

https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Приведенный выше код взят с https://www.softwaretestinghelp.com/what-is-abstraction-in-java/ .

В приведенном выше коде есть класс Bank. В классе Bank есть абстрактный метод getInterestRate(). Объявлены два других класса BOI и ICICI, которые наследуют класс Bank. Эти объявленные классы наследуют класс Bank и поэтому реализуют метод getInterestRate(), возвращающий процентные ставки.

Объект банка создается в основном методе. Объект банка состоит из объекта класса ICICI, который отображает процентную ставку. На следующем шаге также создается объект класса BOI, отображающий процентную ставку.

Абстракция данных через интерфейс

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

Вот несколько особенностей интерфейсов в Java:

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

Синтаксис интерфейса показан ниже:

Приведенный выше синтаксис используется с https://www.javatpoint.com/how-to-achieve-abstraction-in-java .

Интерфейс можно использовать с помощью ключевого слова «осуществляет».

Несколько различий между абстрактными классами и интерфейсом:

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

Изучайте онлайн-курсы по программному обеспечению от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Заключение

В статье описаны концепции абстракции данных и перечислено, как абстракция данных может быть достигнута в Java. Чтобы получить больше опыта в языке программирования Java, вы можете пройти курс разработки программного обеспечения, предлагаемый upGrad. Курс предназначен для работающих профессионалов и обучит вас отраслевым проектам, которые разовьют необходимые навыки программирования. Более подробную информацию можно получить через наш веб-сайт. Для получения любой информации и помощи можно связаться с нашей командой поддержки.

Что такое абстракция данных?

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

Каковы преимущества абстракции в Java?

Как добиться абстракции в Java?

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