Sssda1 Skrevet 14. april 2013 Del Skrevet 14. april 2013 Heisann, Sett at man har en abstract class Dyr og feks class Hest extends Dyr og class Ku extends Dyr Er det noe problem å legge inn hester og kuer i en ArrayList og deretter skrive dem til fil slik try(ObjectOutputStream ut = new ObjectOutputStream(new FileOutputStream(fil))){ ut.writeObject(liste); }catch(Exception e) { } jeg får det hvertfall ikke til og lurer på om det er noe jeg ikke har fått med meg Jeg får det til med lister med konkrete objekter. Lenke til kommentar
Dundas Skrevet 15. april 2013 Del Skrevet 15. april 2013 "Jeg får det ihvertfall ikke til" er en utrolig dårlig beskrivelse. Hvis du ønsker hjelp, så få du gi oss mer å gå på. Lenke til kommentar
Sssda1 Skrevet 15. april 2013 Forfatter Del Skrevet 15. april 2013 Det står hva som er problemet. Jeg får til å fylle arraylista med konkrete objekter og skrive dem til fil, men ikke når jeg fyller med abstrakte objekter. Lenke til kommentar
hjahre Skrevet 15. april 2013 Del Skrevet 15. april 2013 Heisann, Sett at man har en abstract class Dyr og feks class Hest extends Dyr og class Ku extends Dyr Er det noe problem å legge inn hester og kuer i en ArrayList og deretter skrive dem til fil slik try(ObjectOutputStream ut = new ObjectOutputStream(new FileOutputStream(fil))){ ut.writeObject(liste); }catch(Exception e) { } jeg får det hvertfall ikke til og lurer på om det er noe jeg ikke har fått med meg Jeg får det til med lister med konkrete objekter. Er helt sikkert noe du ikke har fått med deg. Dette vil funke ArrayList<Dyr> liste = new ArrayList<Dyr>(); liste.add(new Ku()); liste.add(new Hest()); Her vil du få en error når du prøver å sette inn en ny ku. ArrayList<Hest> liste = new ArrayList<Hest>(); liste.add(new Ku()); liste.add(new Hest()); Dette er fordi Hest og Ku utvider Dyr, dvs de har samme "stamtre", de arver fra Dyr. Ku og Hest er forskjellige. Det er sikkert ikke dette du lurer på. Abstrakte klasser er bare beskrivelser, du kan ikke lage instanser av dem. Det må du gjøre med vanlige klasser. Lenke til kommentar
Sssda1 Skrevet 15. april 2013 Forfatter Del Skrevet 15. april 2013 Jeg fikk ordna det, jeg hadde glemt å serialisere superklassen. Jeg trodde kanskje jeg måtte bruke en annen type liste for å sette inn abstrakte, men det gikk til slutt Lenke til kommentar
Dundas Skrevet 16. april 2013 Del Skrevet 16. april 2013 Det står hva som er problemet. Ja, det står at du ikke får det til. Men hva du legger i det aner jo ikke vi. Det forteller jo ikke oss noe som helst. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå