klasa abstrakcyjna

0

Czy nazwa klasy, która dziedziczy z klasy abstrakcyjnej i nie dostarcza implementacji metod zawartych w nadklasie musi zostać poprzedzona identyfikatorem abstract? Bardzo proszę o wyjaśnienie.

0

Tak.

//edit: O ile nie implementujesz metod oznaczonych jako abstract.

0

Dzięki, mam jeszcze jedno pytanie tym razem o metody. Czy możliwe jest przesłonięcie metody equals(Object)? Jeśli tak, to jakie zadanie będzie spełniać ta metoda?

0

Tak. I na dodatek jest to zalecane w wielu wypadkach.
A jej zadaniem jest dawanie odpowiedzi czy obiekt podany jako argument jest identyczny z obiektem na rzecz którego wywoływana jest metoda.

Domyślna implementacja z obiektu Object jest taka, że porównywane są referencje do obu obiektów i na tej podstawie określana równość. Krótko mówiąc referencje dają równość obiektów jeżeli wskazują na ten sam obiekt w pamięci.

Natomiast najczęściej potrzeba ustalać równość różnych obiektów o tej samej zawartości. Jeżeli zawartość jest identyczna (wg kryteriów autora obiektu), to wynikiem jest true.

0

Można przesłonić metodę equals(). Zanim jednak to zrobisz należy określić w jaki sposób definiujesz równość dwóch obiektów.

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