Różnica między interface a klasą abstrakcji

0

Przecyztąłem wiele już i dalej mam problem ze zrozumieniem tego proszę o wyjaśnienie mi dokładnie tego "Różnica między interface a klasą abstrakcji" Wiem, że w interfejsie wszystko co zostało zadeklarowane musi posiadać własną metode w klasie która posiada rozszerzenie do interfasów, w klasie abstrakcji niekoniecznie. Ale jakie to ma zastosowanie w realnym programowaniu jaka jest dokładna różnica proszę o pomoc :)

0

Generalna różnica jest taka, że w klasie abstrakcyjnej (nie wiem jak w PHP ale mówię ogólnie) możesz zdefiniować również metody czyli podać ich domyślną implementację. W interfejsie nie możesz tego zrobić - tam jedynie określasz co może jakiś obiekt robić ale nie określasz jak, natomiast w klasie abstrakcyjnej możesz to domyślnie określić. Np. nadać jakąś pojemność paliwa pojazdowi i będzie on ją od razu miał na starcie a w interfejsie musisz to określić.
Czyli innymi słowy interfejs określa CO dany obiekt może robić a nie JAK.

1 użytkowników online, w tym zalogowanych: 0, gości: 1