Interfejs a klasa abstrakcyjna 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. 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.
Przypisy
Kategoria:Programowanie obiektowe