KIlka pytań z javy

0

Mam jutro egzamin z programowania na studiach i mam problem z kilkoma przykładowymi pytaniami - tu są te, które nie wiem jak rozwiązać - jestem super wdzięczny za wszelką pomoc z odpowiedziami na te pytania:

  1. Deklaracja ArrayList<jakis_interfejs> - czy można coś takiego zastosować? Wyjaśnić.
  2. Czy możliwa jest deklaracja tablicy w postaci:ComparableFigure [] drawing = new ComparableFigure[100];Do czego taka konstrukcja mogłaby służyć?
    3.Czy poprawna jest poniższa instrukcja? Proszę uzasadnić odpowiedź.
    ZetComparable [] scene= new Figure3D[1000];
  3. Proszę wyjaśnić, czym różni się interfejs od klasy szkieletowej. Najlepiej posłużyć się przykładem interfejsu MouseListener i klasy MouseAdapter lub podobnej pary z biblioteki Swing.
0

Nie jestem ekspertem, wiec nie daje gwarancji na to, co napisze ;p

AD 1)
ArrayList jest "niebezpieczna" jesli chodzi o wielowatkowosc. Wiec musi byc wykorzystywana przez jeden watek. A skoro ma przechowywac jakies interfejsy, to znaczy, ze mozna tam wkladac obiekty o okreslonych cechach (lecz niekoniecznie takim samym pochodzeniu). Przyklad: ArrayList<Serializable> a; - tablica obiektow, ktore moga zostac zserializowane.
AD 2)
Wg mnie w tym nie ma nic niepoprawnego. A do czego moglaby sluzyc ? Hmm... do jakiegos algorytmu analizujacego, ktore figury narysowac wczesniej, a ktore pozniej, bo dac wrazenie glebi na obrazku (jedne figury zaslaniaja inne) i ta tablica bylaby zrodlem tych figur.
AD 3)
Wg mnie jest poprawna, pod jednym warunkiem:
Figure3D jest klasa potomna klasy ZetComparable, ewentualnie ZetComparable jest interfejsem a Figure3D implementuje ten interfejs. Dodatkowo Figure3D nie moze byc klasa abstrakcyjna.

0
[losowa nazwa] napisał(a)

Dodatkowo Figure3D nie moze byc klasa abstrakcyjna.

Niekoniecznie, np.

Serializable[] tab = new AbstractAction[10];

Ale już

tab[0] = new AbstractAction();

nie przejdzie.

0

"2. Czy możliwa jest deklaracja tablicy w postaci:
ComparableFigure [] drawing = new ComparableFigure[100];
Do czego taka konstrukcja mogłaby służyć?"

(chyba ta sama uczelnia, więc dodam szczegół do pytania powyższego):

Co, jeśli ComparableFigure jest interfejsem? Nadal można takie coś powyższego deklarować?

public interface ComparableFigure<T extends ComparableFigure> {
  public boolean isSame( T o );
  public int compareTo( T o );
}
0

Nadal można utworzyć tablicę, tyle, że aby dodać do niej elementy, to trzeba użyć konstruktorów obiektów implementujących ten interfejs.

Panie admin Koziolek czy inny admin bana dla tego pana za spamowanie!

Ciekawe jak chcesz zbanować kogoś, kto nawet nie jest zarejestrowany :)

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