Co to jest abstrakcja w obiektach obiektowych? Klasa i metoda abstrakcyjna Java

Co to jest abstrakcja w OOP?

Abstrakcja to koncepcja programowania obiektowego, które „pokazuje” tylko istotne atrybuty i „ukrywa” niepotrzebne informacje. Głównym celem abstrakcji jest ukrywanie przed użytkownikami niepotrzebnych szczegółów. Abstrakcja to wybieranie danych z większej puli, aby pokazać użytkownikowi tylko istotne szczegóły obiektu. Pomaga w zmniejszeniu złożoności programowania i wysiłku. Jest to jedna z najważniejszych koncepcji OOP.

Kliknij tutaj, jeśli wideo nie jest dostępne



Przestudiujmy abstrakcję w OOP na przykładzie:

Załóżmy, że chcesz stworzyć aplikację bankową i zostaniesz poproszony o zebranie wszystkich informacji o swoim kliencie. Są szanse, że wymyślisz następujące informacje o kliencie

Abstrakcja w języku Java

Ale nie wszystkie powyższe informacje są wymagane do stworzenia aplikacji bankowej.

Dlatego musisz wybrać z tej puli tylko przydatne informacje dla swojej aplikacji bankowej. Dane takie jak imię i nazwisko, adres, informacje podatkowe itp. mają sens dla aplikacji bankowej, która jest przykładem abstrakcji w OOPs

Ponieważ pobraliśmy/usunęliśmy/wybraliśmy informacje o kliencie z większej puli, proces ten jest określany jako abstrakcja w obiektach OOP.

Jednak te same informacje po wyodrębnieniu mogą być wykorzystywane do wielu różnych zastosowań. Na przykład, możesz użyć tych samych danych do podania do szpitala, podania o pracę w portalu pracy, rządowej bazy danych itp. z niewielką modyfikacją lub bez niej. Stają się więc Twoimi danymi podstawowymi. Jest to zaleta abstrakcji w obiektach OOP.

Różnica między abstrakcją a enkapsulacją

Abstrakcja Kapsułkowanie
Abstrakcja w programowaniu obiektowym rozwiązuje problemy na poziomie projektowania.Enkapsulacja rozwiązuje to poziom implementacji.
Abstrakcja w programowaniu polega na ukrywaniu niechcianych szczegółów podczas pokazywania najważniejszych informacji.Enkapsulacja oznacza powiązanie kodu i danych w jedną całość.
Abstrakcja danych w Javie pozwala skupić się na tym, co musi zawierać obiekt informacyjnyHermetyzacja oznacza ukrywanie wewnętrznych szczegółów lub mechanizmów działania obiektu ze względów bezpieczeństwa.

Różnica między klasą abstrakcyjną a interfejsem

Klasa abstrakcyjna Berło
Klasa abstrakcyjna może mieć zarówno metody abstrakcyjne, jak i nieabstrakcyjne.Interfejs może mieć tylko metody abstrakcyjne.
Nie obsługuje wielu dziedziczeń.Obsługuje wiele dziedziczeń.
Może zapewnić implementację interfejsu.Nie może zapewnić implementacji klasy abstrakcyjnej.
Klasa abstrakcyjna może mieć chronione i abstrakcyjne metody publiczne.Interfejs może mieć tylko publiczne metody abstrakcyjne.
Klasa abstrakcyjna może mieć zmienną końcową, statyczną lub statyczną ostateczną z dowolnym specyfikatorem dostępu.Interfejs może mieć tylko publiczną, statyczną zmienną końcową.

Co to jest klasa abstrakcyjna?

Klasa abstrakcyjna jest typem klasy w obiektach OOP, które deklarują jedną lub więcej metod abstrakcyjnych. Klasy te mogą mieć metody abstrakcyjne oraz metody konkretne. Normalna klasa nie może mieć metod abstrakcyjnych. Klasa abstrakcyjna to klasa, która zawiera co najmniej jedną metodę abstrakcyjną.

Czym są metody abstrakcyjne?

Metoda abstrakcyjna to metoda, która ma tylko definicję metody, ale nie zawiera implementacji. Metoda bez treści nazywana jest metodą abstrakcyjną. Musi być zadeklarowany w klasie abstrakcyjnej. Metoda abstrakcyjna nigdy nie będzie ostateczna, ponieważ klasa abstrakcyjna musi implementować wszystkie metody abstrakcyjne.

Zalety abstrakcji

  • Główną zaletą korzystania z abstrakcji w programowaniu jest to, że pozwala ona na grupowanie kilku powiązanych klas jako rodzeństwo.
  • Abstrakcja w programowaniu obiektowym pomaga zmniejszyć złożoność procesu projektowania i wdrażania oprogramowania.

Kiedy używać metod abstrakcyjnych i klasy abstrakcyjnej?

Metody abstrakcyjne są najczęściej deklarowane, gdy dwie lub więcej podklas również robi to samo na różne sposoby poprzez różne implementacje. Rozszerza również tę samą klasę Abstract i oferuje różne implementacje metod abstrakcyjnych.

Klasy abstrakcyjne pomagają opisać ogólne typy zachowań i hierarchię klas programowania obiektowego. Opisuje również podklasy oferujące szczegóły implementacji klasy abstrakcyjnej.

Streszczenie:

  • Abstrakcja w programowaniu to proces wybierania ważnych zestawów danych dla Obiekt w twoim oprogramowaniu i pomiń te nieistotne.
  • Po modelowaniu obiektu za pomocą abstrakcji danych w Javie ten sam zestaw danych może być używany w różnych aplikacjach.