Co to jest abstrakcja w obiektach operacyjnych? Klasa abstrakcyjna Java & metoda

Spisie treści:

Anonim

Co to jest abstrakcja w OOP?

Abstrakcja to pojęcie programowania zorientowanego obiektowo, które „pokazuje” tylko istotne atrybuty i „ukrywa” niepotrzebne informacje. Głównym celem abstrakcji jest ukrycie niepotrzebnych szczegółów przed użytkownikami. Abstrakcja polega na wybieraniu 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

Przeanalizujmy abstrakcję w obiektach typu OOP na przykładzie:

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

Abstrakcja w Javie

Jednak nie wszystkie powyższe informacje są wymagane do utworzenia aplikacji bankowej.

Musisz więc wybrać tylko przydatne informacje dla swojej aplikacji bankowej z tej puli. Dane takie jak imię i nazwisko, adres, informacje podatkowe itp. Mają sens w przypadku aplikacji bankowej, która jest przykładem abstrakcji w OOP

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

Jednak te same informacje po wyodrębnieniu można wykorzystać w wielu różnych zastosowaniach. Na przykład, możesz użyć tych samych danych do podania do szpitala, podania do portalu pracy, rządowej bazy danych itp. Z niewielkimi modyfikacjami lub bez nich. W związku z tym staje się Twoimi danymi podstawowymi. Jest to zaleta abstrakcji w OOP.

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

Abstrakcja Kapsułkowanie
Abstrakcja w programowaniu obiektowym rozwiązuje problemy na poziomie projektowania. Hermetyzacja rozwiązuje poziom implementacji.
Abstrakcja w programowaniu polega na ukrywaniu niechcianych szczegółów podczas pokazywania najważniejszych informacji. Hermetyzacja oznacza wiązanie kodu i danych w jedną jednostkę.
Abstrakcja danych w Javie pozwala skupić się na tym, co musi zawierać obiekt informacyjny Hermetyzacja oznacza ukrycie wewnętrznych szczegółów lub mechaniki tego, jak obiekt coś robi 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 abstrakcyjne metody.
Nie obsługuje wielokrotnego dziedziczenia. Obsługuje wielokrotne dziedziczenie.
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ć końcową, statyczną lub statyczną zmienną końcową z dowolnym specyfikatorem dostępu. Interfejs może mieć tylko publiczną statyczną zmienną końcową.

Co to jest klasa abstrakcyjna?

Klasa abstrakcyjna to typ klasy w obiektach obiektowych, które deklarują jedną lub więcej metod abstrakcyjnych. Te klasy mogą mieć zarówno metody abstrakcyjne, jak i konkretne. Normalna klasa nie może mieć metod abstrakcyjnych. Klasa abstrakcyjna to klasa zawierająca co najmniej jedną metodę abstrakcyjną.

Co to 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ć zadeklarowana 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 umożliwia ona grupowanie kilku powiązanych klas jako rodzeństwa.
  • Abstrakcja w programowaniu obiektowym pomaga zmniejszyć złożoność procesu projektowania i wdrażania oprogramowania.

Kiedy stosować metody abstrakcyjne i klasy abstrakcyjne?

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, aby podać szczegóły implementacji klasy abstrakcyjnej.

Podsumowanie:

  • Abstrakcja w programowaniu to proces wybierania ważnych zestawów danych dla obiektu w oprogramowaniu i pomijania nieistotnych.
  • Po wymodelowaniu obiektu przy użyciu abstrakcji danych w Javie, ten sam zestaw danych może być używany w różnych aplikacjach.