Moduł 6 Flashcards
Czym jest kompozycja w programowaniu obiektowym ?
- wyraża relację “składa się z” lub “posiada”
- w jej skład może wchodzić dowolna liczba obiektów, tworzonych na podstawie istniejących już klas.
Wskaż różnice pomiędzy klasą bazową a podklasą
Klasa bazowa
-Jest to klasa, z której dokonano dziedziczenia.
Podklasa
-Jest to klasa, która powstawa w wyniku dziedziczenia.
Jakie składowe klasy bazowej dziedziczy podklasa?
-Podklasa przejmuje wszelkie cechy i zachowania z istniejących już klas, dodając lub modyfikując je, zęby były one bardziej wyspecjalizowane.
Czy każda klasa w Javie dziedziczy z innej klasy? Czy możliwe jest dziedziczenie z wielu klas?
- Klasy, które jawnie nie mają zdeklarowanego dziedziczenia domyślnie dziedziczą z klasy Object
- Dziedziczenie w Javie jest jednokrotne - każda klasa dziedziczy z jednej klasy.
Wyjaśniej pojęcie polimorfizmu
-Jest to kompozycja jak i dziedziczenie, które pozwala kojarzyć klasy obiektów w hierarchie klas.
Jakie zadania spełnia klasa Object? Jakimi metodami dysponuje?
.-jest główną klasą z której pośrednio lub bezpośrednio dziecziczą wszystkie inne klasy.
Metody:
clone() - tworzy kopię obiektu
toString() - zwraca reprezentację obiektu w formie łancucha tekstowego
equals(Object) – porównuje dwa obiekty
getClass() – zwraca nazwę klasy na podstawie, której powstał obiekt
Podaj przykład użycia metody toString() z klasy Object?
….
Jaką funkcję pełni operator instanceof
- służy do sprawdzania czy dany obiekt należy do wskazanej klasy.
- Przyjmuje wartość true lub false.
Wskaż różnice pomiędzy słowami kluczowymi this i super
Super
-umożliwia dostęp do klasy bazowej z dziedziczącej
-może się w ten sposób odwoływać też do konstruktorów klasy nadrzędnej.
This
-oznacza referencję do bieżącego obiektu.
-ułatwia dostęp do jego składowych oraz umożliwia wywołanie odpowiednich konstruktorów
Określ zalety używania pakietów
- pozwalają na szybsze odnalezienie właściwych klas
- unikanie konfliktu nazw
- jasne określenie związków między klasami
W jaki sposób możliwe jest użycie klas znajdujących suę we wskazanym pakiecie
….
Czy możliwe jest przesłonięcie metody equals(Object)? Jeśli tak, to jakie zadanie będzie spełniać ta metoda.
Tak.
Określ związek pomiędzy obiektami: samochód, silnik
kompozycja
class B { static int x = 10; } public class A extends B { public static void main(String [] args) { B klasaB = new B(); A klasaA = new A(); klasaB.x = 20; System.out.println("wynik " + klasaA.x + " " + klasaB.x); } }
odp: program wyświetli 20 20
Czy język programowania Java umożliwia dziedziczenie na podstawie wielu klas (tzw. dziedziczenie wielobazowe) ?
nie