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

W programowaniu wykorzystywane są pojęcia klasy abstrakcyjnej i interfejsu. Jakie są ich funkcje?

Treść artykułu

  • Jakie są cechy abstrakcyjnej klasy w programowaniu?
  • Co to jest interfejs??
  • Porównanie
  • Tabela

Jakie są cechy abstrakcyjnej klasy w programowaniu?

Wśród głównych cech klasa abstrakcyjna - dostępność wdrożenia. Ponadto może być w nim obecna jedna lub kilka jej metod. Klasa abstrakcyjna ma właściwości, które mają modyfikatory dostępu. Ponadto przedmiotowa kategoria danych obejmuje:

  1. zastosowanie metody rozszerzania;
  2. opis konstruktora;
  3. wykorzystanie różnych rodzajów danych - w szczególności danych statycznych lub stałych;
  4. niezależność implementacji odziedziczonej klasy abstrakcyjnej od rodzica.
do treści ↑

Co to jest interfejs??

Interfejs, z kolei nie zawiera implementacji. Zawiera opis w najczystszej postaci - jako zestaw metod do zaimplementowania w określonej klasie, za pomocą których implementowany jest interfejs.

Kategoria danych, o której mowa, obejmuje również:

  1. obecność tylko tych stałych, które są sklasyfikowane jako publicznie dostępne;
  2. zastosowanie metody implementacji;
  3. powielanie wszystkich metod interfejsu w procesie jego implementacji.

Zauważ, że interfejs nie zawiera opisu konstruktora.

Reklama

do treści ↑

Porównanie

Oczywiście istnieje więcej niż jedna różnica między klasą abstrakcyjną a interfejsem. Różnicę między nimi można prześledzić w różnych aspektach. Można je najlepiej zobaczyć przy porównywaniu klasy abstrakcyjnej i interfejsu według następujących głównych kryteriów:

  • spadek;
  • wdrożenie;
  • użycie konstruktora.

Mała tabela pomoże nam pokazać, jaką różnicę między klasą abstrakcyjną a interfejsem można prześledzić w stosunku do zaznaczonych kryteriów..

do treści ↑

Tabela

Klasa abstrakcyjnaInterfejs
Tylko jedna klasa abstrakcyjna jest dziedziczona przez inną klasę.Każda klasa może zaimplementować kilka interfejsów
Umożliwia implementację metodZakłada jedynie opis metod
Umożliwia tworzenie konstruktorówNie dotyczy konstruktorów