Logo pl.removalsclassifieds.com

Różnica między klasą a interfejsem (z tabelą)

Spisu treści:

Anonim

Zarówno Class, jak i Interface określają wygląd obiektu, a także zachowanie obiektu. Jeśli dokładnie przestudiujemy i zrozumiemy obie struktury, łatwiej będzie zajmować się programowaniem. Są to dwie podstawowe struktury w języku programowania zorientowanego obiektowo. Ponadto lepsze zrozumienie poprawi jakość naszego kodowania i doświadczenie programisty.

Klasa a interfejs

Główna różnica między klasą a interfejsem polega na tym, że klasa może zawierać zarówno metody abstrakcyjne, jak i konkretne. Natomiast interfejs może zawierać tylko metody abstrakcyjne. Klasa może osiągnąć częściową abstrakcję, ale interfejs zawsze osiąga pełną abstrakcję.

Klasa to podstawowa struktura w programie, z której tworzone są obiekty. Sama klasa należy do pewnych pakietów, które zawierają identyczną grupę spakowanych razem pakietów. Deklaracja klasy zawiera na ogół słowa kluczowe, modyfikatory i nazwę klasy. Klasę można podzielić na dwie kategorie: Wbudowane klasyii. Klasy zdefiniowane przez użytkownika

Idea interfejsu została wprowadzona do implementacji wielu klas na raz. Zawiera deklarację metody programu. Nie tylko metody abstrakcyjne, ale również interfejs może zawierać metody statyczne. Domyślnie są zawsze deklarowane jako publiczne.

Tabela porównawcza między klasą a interfejsem

Parametry porównania

Klasa

Berło

Definicja Klasa zasadniczo opisuje i definiuje zachowanie obiektu Interfejs zasadniczo zawiera atrybuty i zachowanie zdefiniowane przez klasę
Słowo kluczowe Słowo kluczowe „class” służy do deklarowania klasy Słowo kluczowe „interfejs” służy do deklarowania interfejsu
Metody Klasa może mieć zarówno abstrakcyjne, jak i konkretne metody. Oznacza to, że metoda może mieć ciało Interfejs może mieć tylko metody abstrakcyjne. Oznacza to, że metoda nie może mieć ciała
Specyfikator dostępu Elementy członkowskie w klasie mogą być publiczne, chronione lub domyślne Wszyscy członkowie interfejsu domyślnie są publiczni
Dziedzictwo Klasa nie obsługuje wielu dziedziczeń. Używa słowa kluczowego extends do dziedziczenia innej klasy Interfejs obsługuje wiele dziedziczeń. Może jednak dziedziczyć tylko interfejs

Czym jest klasa?

Klasa to plan lub plan, z którego tworzone są obiekty. Jest to grupa obiektów o podobnych właściwościach. Jest to byt logiczny i nie może być fizyczny. Nazwa klasy zwykle zaczyna się od dużej litery.

Jest to podstawowa koncepcja programowania obiektowego. Określa zachowanie obiektu. Może mieć dowolną liczbę metod i mieć dostęp do swoich wartości.

Klasa może zawierać następujące typy zmiennych: zmienna lokalna, zmienna instancji i zmienna klasy.

Składnia klasy jest następująca:

klasa {pole;metoda;}

Aby utworzyć obiekt pod klasą, musimy użyć słowa kluczowego znanego jako „new” wraz z konstruktorem. Konstruktor ma taką samą nazwę jak klasa. Jego funkcja jest podobna do metody.

Na przykład, jeśli nazwa klasy to Program, konstruktor to Program(). Aby uzyskać dostęp do elementów klasy, musimy użyć nazwy obiektu wraz z klasą.

Co to jest interfejs?

Interfejs jest zdefiniowany jako grupa podobnych metod, ale z pustymi ciałami.

Implementacja interfejsu sprawia, że ​​klasa staje się bardziej właściwa. To z kolei sprawia, że ​​zachowanie klasy jest bardziej formalne. Jest to kontrakt wymuszony przez kompilator, który łączy klasę ze światem zewnętrznym.

Zanim klasa zostanie skompilowana pomyślnie, metody zdefiniowane przez interfejs muszą pojawić się w kodzie źródłowym. Aby skompilować klasę, musimy na początku dodać słowo kluczowe public. Nie może być prywatnych zmiennych i metod.

Obejmuje metody abstrakcyjne oraz stałe statyczne. Interfejs nie może zawierać treści metody. Jest zwykle używany do uzyskania wielu dziedziczeń w programie.

W interfejsie można wprowadzić metody domyślne i statyczne. Ponadto możemy mieć prywatne metody w interfejsie. Służy do osiągania abstrakcji.

Główne różnice między klasą a interfejsem

Wniosek

Aby utworzyć ramkę programu, klasa i interfejs to dwa najbardziej podstawowe elementy. Mają do spełnienia swoje odrębne funkcje. Jednak w porównaniu składniowym mają sporo podobieństw. Słowo kluczowe „class” służy do tworzenia klasy, a słowo kluczowe „interface” służy do tworzenia interfejsu. Musimy pamiętać o ich odpowiednich formatach, aby wykonać wymagany program.

Klasa może mieć treść metody, podczas gdy interfejs nie. Jeśli chodzi o metody, klasy zawierają zarówno statyczne, jak i końcowe metody, które mogą być publiczne lub prywatne. W przypadku interfejsu nie może mieć żadnej z dwóch metod, która zawsze jest publiczna. Ma to zasadniczo na celu zapewnienie dostępności do klasy, która ma zostać zaimplementowana.

Inną ważną kwestią jest to, że implementacja klasy wymaga również walidacji wszystkich metod obecnych w interfejsie. Tak więc bez wątpienia klasa i interfejs są od siebie zależne.

Odniesienie

Różnica między klasą a interfejsem (z tabelą)