Movatterモバイル変換


[0]ホーム

URL:


Przejdź do zawartości
Wikipediawolna encyklopedia
Szukaj

Interfejs (programowanie obiektowe)

Z Wikipedii, wolnej encyklopedii
Zobacz też:inne znaczenia wyrazu „interfejs”.

Interfejs – definicjaabstrakcyjnego typu posiadającego jedynie operacje, a nie dane. Kiedy w konkretnejklasie zdefiniowane są wszystkiemetody interfejsu mówimy, że klasa implementuje dany interfejs. W programie mogą być tworzone zmienne typureferencja do interfejsu, nie można natomiast tworzyćobiektów tego typu. Referencja może wskazywać na obiekt dowolnej klasy implementującej dany interfejs.Interfejs określa udostępniane operacje, nie zawiera natomiast ich implementacji i danych. Z tego powodu klasy mogą implementować wiele interfejsów, bez problemów wynikających z wielokrotnegodziedziczenia. Wszystkie metody w interfejsie z reguły muszą być publiczne.

Interfejs pozwala nahermetyzację obiektów, utworzonych w oparciu o klasy zawierające definicję (implementację) wspólnego interfejsu. Tak rozumiany interfejs, w ramachprogramowania obiektowego, określany jest też mianeminterfejs klasy.

Przykład interfejsu w Javie

[edytuj |edytuj kod]
interfaceInterfejs{publicvoidproc();}classKlasaimplementsInterfejs{@Overridepublicvoidproc(){// ...}}

Interfejs a Klasa Abstrakcyjna

[edytuj |edytuj kod]

między ww. typami danych są następujące różnice:

  • Interfejs może zawierać jedynie deklaracje metod, a klasa abstrakcyjna może zawierać również metody zdefiniowane.
  • Rozszerzając klasę abstrakcyjną, klasa może uczestniczyć jedynie w jednej hierarchii, natomiast używając interfejsów, klasa może uczestniczyć w wielu typach hierarchii.
  • interfejsy – w przeciwieństwie do klas abstrakcyjnych – wymagają od użytkownika implementacji wszystkich metod w nich zawartych. Ponadto Klasy abstrakcyjne mogą ułatwić ten proces, umożliwiając podstawową implementację danej funkcjonalności[1].
  • Wszystkie zadeklarowane metody w interfejsie są publiczne, natomiast metody zadeklarowane w klasach mogą być publiczne lub chronione.
  • Klasy abstrakcyjne mogą zawierać atrybuty, natomiast interfejsy – nie[2].

Przypisy

[edytuj |edytuj kod]
  1. Rozmowa kwalifikacyjna z Javy? Żaden problem! Cz. III (Core) [online], it-leaders.com.pl [dostęp 2018-10-25] [zarchiwizowane zadresu 2018-10-24] (pol.).
  2. Programistyka: Różnice między klasą abstrakcyjną, a interfejsem [online], sebastian-malaca.blogspot.com [dostęp 2018-10-25] .
Źródło: „https://pl.wikipedia.org/w/index.php?title=Interfejs_(programowanie_obiektowe)&oldid=76127084
Kategoria:

[8]ページ先頭

©2009-2025 Movatter.jp