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

Autor: Laura McKinney
Data Utworzenia: 3 Kwiecień 2021
Data Aktualizacji: 2 Lipiec 2024
Anonim
Różnica między klasą abstrakcyjną a interfejsem - Edukacja
Różnica między klasą abstrakcyjną a interfejsem - Edukacja

Zawartość

Główna różnica

Główna różnica między klasą abstrakcyjną a interfejsem polega na tym, że procedury interfejsu Java są zasadniczo abstrakcyjne i nie mogą zawierać aplikacji. Mówiąc ogólnie, interfejs jest w rzeczywistości umową, a kiedy mówimy o interfejsie, stosuje się, że metody nie mają ciała, to tylko wzorzec. Podczas gdy klasy abstrakcyjne to w zasadzie klasy, które są drogie w użyciu. Klasy abstrakcyjne i interfejs to zupełnie inna koncepcja, są to dwie różne rzeczy, ale czasami ich implementacje są dość podobne.


Co to jest klasa abstrakcyjna?

Klasa abstrakcyjna nie jest całkowicie sugerowana przez programistę. Klasa abstrakcyjna może mieć jedną lub więcej metod abstrakcyjnych. Przydają się do modelowania grupowania lub rankingu klas i podczas gdy programista jest w trakcie przeprowadzania, programiści rozumieją, co należy zbudować po zapoznaniu się z wymaganiami. Na klasę abstrakcyjną nie można polegać całkowicie, ponieważ brakuje jej części. Głównym argumentem tego argumentu jest to, że klasa abstrakcyjna jest ściśle zorientowana obiektowo, chociaż ma nagłówek metody, ale nie ma treści. Kiedy mówimy o klasach abstrakcyjnych, istnieje silny związek między dwiema klasami, ponieważ te klasy mają tendencję do wzajemnego pozyskiwania się lub dziedziczenia.

Co to jest interfejs?

Kiedy mówimy o interfejsie, wręcz przeciwnie, relacja lub komunikacja między samym interfejsem a klasą implikującą interfejs nie jest tak silna, jak w klasach abstrakcyjnych. Klasa Java może implementować wiele interfejsów, ale może dziedziczyć po jednej klasie abstrakcyjnej. Oznacza to, że jeśli chcesz sugerować wiele interakcji jednocześnie, interfejs jest twoją sprawą. Oprócz tego całego scenariusza, nawet jeśli nie chcesz, aby interfejs API zmieniał się przez jakiś czas, interfejs jest dla Ciebie najlepszą opcją. Interfejs to tak naprawdę umowa między dwoma różnymi obiektami. Krótko mówiąc, interfejs obraca się wokół funkcjonalności.


Kluczowe różnice

  1. Klasa abstrakcyjna jest zorientowana obiektowo, a interfejs zorientowany na funkcje.
  2. Jeśli chcesz, aby interfejs API pozostawał stały przez jakiś czas, wybierasz interfejs zamiast klasy abstrakcyjnej.
  3. Można przypisać wiele spadków, sugerując wiele interfejsów. W klasie abstrakcyjnej nie można uzyskać wielu spadków.
  4. Jeśli masz klimat, że w przyszłości będziesz musiał dodać metody w swojej pracy, wtedy wybierz abstrakcyjną klasę, a nie interfejs.
  5. Klasa abstrakcyjna daje wspólną aplikację klasy bazowej, ale nic takiego się nie dzieje w interfejsie.
  6. W interfejsie wszystkie zaimplementowane metody są publiczne, ale w klasie abstrakcyjnej można również zastosować niektóre metody niepubliczne.
  7. Konstruktory nie występują w interfejsie, ale występują w klasie abstrakcyjnej.
  8. Kompletny element klasy abstrakcyjnej może być statyczny, ale nie interfejsowy.

Lato Lato jet najgorętzym z czterech ezonów umiarkowanych, przypadających na wionę i przed jeienią. Podcza przeilenia letniego dni ą najdłużze, a noce najkrótze, a długość dnia maleje wraz...

Moc vs. moc - jaka jest różnica?

Laura McKinney

Lipiec 2024

Główną różnicą między watą a mocą jet to, że Watt jet jednotką mocy pochodzącą z układu I i Moc jet jednotką mocy. Wat Wat (ymbol: W) to jednotka mocy. W Międzynarodowym ytemie Jednotek (I...

Publikacje