Lektion 12
Klasser och objekt
Del 1
(Primitiva) Datatyper
int heltal ( = integer på engelska) exempel talet 17
double decimaltal (flyttal) exempel talet 3.14
char enstaka tecken exempel bokstaven ’A’
String sträng exempel teckenföljden ”Blå”
Objektorientering
• En klass försöker beskriva verkligheten Ex:
– Boll (t ex diameter, material, färg) – Spelkort (färg, valör)
• I klassen beskrivs vilka egenskaper som behövs
• Utifrån klassens beskrivning skapas objekt som får de egenskaper som klassen beskriver.
Klassen Boll Instansvariabler: •diameter •material •färg •5 •Gummi •Röd •10 •Plast •Blå a b
Klassen Boll
För objektet a gäller:a.diameter = 5; a.material="Gummi"; a.farg = "Röd";
För objektet b gäller:
b.diameter = 10; b.material="Plast"; b.farg = "Blå";
class Boll { int diameter; String material; String farg; }
Klassen har instansvariabler (eller attribut, datamedlemmar). OBS! Är inget javaprogram! (Har ingen main-metod.)
Metoder
• Metoder i Java är samma som t ex funktioner i andra språk.
• Metoderna gör något (t ex beräkning, utskrift, mm)
Klassen Boll får två metoder: volym() och rulla()
Klassen Boll Variabler: diameter material färg Metoder: volym ( ) { beräkna volym } rulla ( )
{ visa hur bollen rullat 10 varv }
Metoden volym()
double volym() {
double v;
v = 3.14159 * diameter * diameter * diameter / 6 ; return v;
Metoden rulla()
void rulla() { for(int i = 0 ; i < 10 ; i++) { System.out.print('O'); } System.out.println(); }Konstruktor
En konstruktor är en metod som anropas då ett objekt ur klassen skapas.
I konstruktorn sätts initialvärden (startvärden) för det objekt som skapas. Boll() { diameter = 10; material = "Plast"; farg = "Gul"; }
Skapa och anropa objekt
// ett javaprogram class SkapaBoll { ...main() {Boll a = new Boll(); a.rulla(); double s; s = a.volym(); System.out.print(s); } } class Boll { ... Boll() { diameter = 10; material = "Plast"; farg = "Gul"; } ... }
1 1
Sammanfattning - begrepp
• Klass - en beskrivning av någonting
• (Instans)variabler (datamedlemmar, attribut) - egenskaper för klassen
• Referensvariabel - variabel som refererar till ett objekt
• (Instans)metod - en metod som utför någonting på ett objekt
• Lokal variabel - en variabel som enbart ”finns” inne i en metod