Przechowywanie różnych klas w jednej tablicy


#1

Witam,

chcę przechować w tablicy kilka różnych klas, powiedzmy: rower, motor i samochód.

Do tej pory robiłem to tak, że robiłem interfejs Pojazd i Pojazd pojazdy[] = new Pojazd[3];

I mogłem tam wrzucić wszystkie z tych trzech pojazdów.

Teraz jednak potrzebuję sklonować niektóre obiekty z tej tablicy (Cloneable). Do tego jednak nie będę mógł użyć możego interfejsu gdyż interfejsy nie mogę implementować, a do klonowania implementacja Cloneable jest potrzebna...

Co powinienem teraz zrobić?


(kostek135) #2

Masz błędy w tym systemie u samiutkich podstaw, nie wiesz kiedy należy używać interfejsu i po co - przeczytaj. Klasa Pojazd powinna być klasą abstrakcyjną. Wtedy będziesz mógł używać interfejsów w pojazdach.

Mimo wszystko jak chcesz kontynuować zły model, zrób w klasie konstruktor, który przyjmie instancję tego samego typu i przepisze pola.


([alex]) #3

Może by tak język podałeś, zgaduję że chodzi raczej o Jave?