F20 - Polymorfism fortsättning, abstrakta klasser, interface Flashcards
Vilka är objektorienterad programmerings tre principer?
- Inkapsling
- Arv
- Polymorfism
När kan en abstrakt metod vara lämplig?
När alla subklasser måste implementera metoden
Hur definieras en abstrakt metod i superklassen?
public abstract metodNamn();
Inte { ] eller metodkropp.
Vilka krav ställs på klassen om man vill skriva abstrakta metoder?
att klassen också definieras som abstrakt
Hur skiljer sig abstrakta metoder från överskuggning?
vid abstrakta metoder tillhandahåller superklassen ingen implementation av metoden, vilket den gör vid överskuggning
Vad innebär bindning?
att koppla metodanropet till metodkroppen
Vad är abstrakta klasser en kombination av?
vanlig klass och interface
Vad skiljer en abstrakt klass från en konkret (vanligt) klass?
en abstrakt klass ska alltid ärvas och man kan därför inte skapa instanser av den
Vad är en konkretklass?
en klass som intet innhåller abstrakta metoder eller är en interface
Vad är ett interface?
ett interface är en rent abstrakt klass som helst saknar implementation
vad är default metoden i ett interface?
publika abstrakta metoder
hur funkar interface?
som ett konkrakt, alla klasser som implementerar interface går med på att de ska ha ett visst beteende
hur deklareras interface?
med nyckelordet “interface” istället för “klass”, t ex
public interface namn{
}
kan metoder i ett interface någonsin innehålla implementation?
ja om metoden inte är abstrakt
vilka regler finns för interface?
- alla metoder är implicit public och abstract oavsett om nyckelorden anges
- instantsvariabler blir implicit public static final, eftersom endast konstanter är tillåtna som variabler