Moduł 7 Flashcards
Określ cel i zastosowanie interfejsów.
- stanowią zbiór wymagań dotyczących klas, które będą go stosować.
- wyrażają sposób funkcjonalności klas bez określania w jaki sposób zostanie to uzyskane.
- W ich skład wchodzą pole i metody
Czy specyfikacja języka Java narzuca ograniczenia na liczbę interfejsów, jakie może
implementować tworzona klasa?
Możliwa jest implementacja dowolnej liczby interfejsów przez pojedynczą klasę co pozwala na realizację tzw.
dziedziczenia wielobazowego.
Czy możliwe jest tworzenie interfejsów pochodnych?
Tak dziedziczenie interfejsów jest dozwolone
W jakim przypadku klasa implementująca interfejs nie musi tworzyć wszystkich metod
występujących w tym interfejsie?
…
Które z poniższych deklaracji są błędne (KlasaA, KlasaB, KlasaC oznaczają nazwy klas, natomiast InterfejsA, InterfejsB, InterfejsC to nazwy interfejsów)? class KlasaA extends KlasaB class KlasaA implements InterfejsA class KlasaC extends KlasaA, KlasaB class KlasaB implements InterfejsB, InterfejsC interface InterfejsA implements InterfejsB interface InterfejsB extends InterfaceA interface InterfejsC extends InterfaceA, InterfaceB
…
Odszukaj w dokumentacji, jakie interfejsy implementuje klasa String. Jakie nagłówki metod
zdefiniowane zostały w tych interfejsach?
…
Czy poprawny jest poniższy kod?
public interface Tester {
}
Tak
Podaj definicję klasy abstrakcyjnej.
- wykorzystywane w procesie modelowania
- zawierają ogólne cechy i zachowania obiektów
Wskaż różnice między klasą abstrakcyjną, a interfejsem
Klasa abstrakcyjna
-wykorzystywane w procesie modelowania
-zawierają ogólne cechy i zachowania obiektów
Interfejsy
-stanowią zbiór wymagań dotyczących klas, które będą go stosować.
-wyrażają sposób funkcjonalności klas bez określania w jaki sposób zostanie to uzyskane.
-W ich skład wchodzą pole i metody
Poniższy kod programu zawiera definicję klasy abstrakcyjnej wraz z jej składowymi. Wskaż
ewentualne błędy.
public abstract class Zwierze {
private String nazwa;
public abstract void je() { System.out.println ("Aktualnie je."); } public abstract void idzie(); public abstract void pije(); }
…
Czy możliwe jest utworzenie obiektów na bazie klasy abstrakcyjnej?
Nie, klasa abstrakcyjna nie może stanowić podstawy dla utworzenia obiektu.
Czy nazwa klasy, która dziedziczy z klasy abstrakcyjnej i nie dostarcza implementacji metod
zawartych w nadklasie musi zostać poprzedzona identyfikatorem abstract?
…
Wskaż błąd w poniższym kodzie programu.
final class A {
private String nazwa;
public String pobierzNazwe() { return this.nazwa; } } class B extends A { private int liczba;
public int pobierzLiczbe() {
return liczba;
}
}
…
Jakie własności posiadają metody finalne?
Klasy, z których nie jest możliwe dziedziczenie nazywane są klasami finalnymi, co wyrażane jest za
pomocą słowa kluczowego final.
public final class Procesor { // ciało klasy (składowe klasy) }
Czym są klasy anonimowe? Wskaż ich zastosowanie.
Szczególnym przypadkiem klas wewnętrznych są klasy anonimowe (nie posiadające nazwy). lasy anonimowe często wykorzystywane są do obsługi zdarzeń w programowaniu aplikacji korzystających z graficznego
interfejsu użytkownika.