Jonny Karlsson GRUNDKURS I PROGRAMMERING MED JAVA Föreläsning 9 ( ) INNEHÅLL: -Tabeller av klassobjekt -Användning av Java API specifikationen
2Jonny Karlsson Tabeller av klassobjekt Man kan skapa tabeller av klassobjekt, helt på samma sätt som man kan skapa tabeller av primitiva datatyper såsom int, float osv. En tabell av ett klassobjekt kan behövas t.ex. i ett program som hanterar ett personregister. Varje person i registret har många egenskaper, t.ex. namn, personnummer och hemort. Vi behöver då skapa en egen datatyp (klass) beskriver personens alla egenskaper och sedan kan vi skapa så många objekt/instanser av personklassen som det skall finnas personer i registret.
3Jonny Karlsson Tabeller av klassobjekt Vi skapar först personklassen: class Person { String namn; String personNr; String hemort; } Av klassen Person kan vi nu skapa ”personvariabler” och i detta fall vill vi skapa en tabell av ”personvariabler”, rättare sagt tabell av personobjekt Person persTabell[ ] = new Person[4]; persTabell innehåller nu alltså en tabell av 4 Person variabler.
4Jonny Karlsson Tabeller av klassobjekt Observera att vi tillsvidare endast har en tabell av Person variabler och INTE en tabell av Person objekt. Nästa steg är att skapa ett nytt objekt av klassen Person av varje Person variabel i tabellen: persTabell[0] = new Person(); persTabell[1] = new Person(); persTabell[2] = new Person(); persTabell[3] = new Person(); Eller, ett kortare sätt är att använda en for-sats: int i; for(i = 0; i < 4; i++) persTabell[i] = new Person();
5Jonny Karlsson Tabeller av klassobjekt Sedan kommer man åt de olika objekten i klassobjektstabellen m.h.a. index värden (på samma sätt som i vanliga tabeller) persTabell[0].namn = ”Kalle Andersson”; persTabell[0].personNr = ” K”; persTabell[0].hemort = ”1999”; persTabell[1].namn = input.readString(); persTabell[1].personNr = input.readString(); persTabell[1].hemort = input.readString();......
6Jonny Karlsson Tabeller av klassobjekt Följande exempel läser in fyra personer från tangentbordet och visar sedan de inmatade personernas egenskaper på bildskärmen. int i; for(i = 0; i < 4; i++=) { persTabell[i].namn = input.readString(); persTabell[i].personNr = input.readString(); persTabell[i].hemort = input.readString(); } for(i = 0; i < 4; i++) { System.out.println(”\nPerson: ” + (i+1)); System.out.println(”Namn: ” + persTabell[i].namn); System.out.println(”Personnummer: ” + persTabell[i].personNr); System.out.println(”Hemort: ” + persTabell[i].hemort); }
7Jonny Karlsson Användning av Java API specifikationen Se: