...
En klasse består typisk av felt, metoder og konstruktør(er). Samspillet mellom disse definerer oppførsel og tilstand for objektet.
Felter og metoder
Code Block |
---|
language | java |
---|
title | Simple class |
---|
| public class MyDescriptiveAndConciseClassname {
} |
- class - Dette betyr at "eieren" av innholdet i { } er en klasse.
- public - Dette definerer synligheten til klassen. Ofte jobber
programmer med flere klasser, og noen ganger vil man at klassene skal "vite" om hverandre, andre ganger ikke. Mer om synlighet, se Innkapsling og Synlighetsmodifikatorer. - MyDescriptiveAndConciseClassname - Navnet på klassen.
Har her valgt et forholdsvis teit klassenavn, men dette er bare for å illustrere at det kan være akkurat det man ønsker. I tillegg forteller navnet hva slags klassenavn man egentlig ønsker; beskrivende og konsise på en gang.
Dette er en klasse med fryktelig lite mening, men uansett; en klasse.
|
| Code Block |
---|
language | java |
---|
title | Class with fields |
---|
| public class Song {
public String title;
public Person artist;
public String lyrics;
} |
- Det er her valgt et kort og presist klassenavn, og man burde
ikke være i tvil om hva denne klassen "representerer". - Song-klassen har her tre felter.
Et felt fungerer omtrent som en vanlig variabel, men i stedet for å deklareres i en funksjon, deklareres feltet i klassen. Felter kan sees på som klassens egenskaper. Det vil si at et felt opptrer som en global variabel i klassen.
|
Code Block |
---|
language | java |
---|
title | Class with fields and methods |
---|
| public class Song {
private String title;
public Person artist;
public String lyrics;
public String getTitle() {
return title;
}
public void setTitle (String title) {
this.title = title;
}
public int countWordInLyrics(String word) {
// Code that finds the number of
// occurrences of "word" in lyrics-field
}
} |
- Når man lager funksjoner i klasser pleier man å kalle
funksjonene klassen metoder. Metodene er bygget opp på helt lik måte som en funksjon. - Her er det opprettet to metoder; getTitle() & setTitle(...) som
henholdsvis returnerer og forandrer feltet title. Disse kalles gettere og settere, som kan leses mer om under Innkapsling. - countWordInLyrics(...) er en metode som hverken returnerer
eller forandrer noen av feltene i klassen, men utfører en beregning basert på verdiene til ett av
| feltene - feltene
|
...