Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Getter og Setter | Avanserte Klasser
Java Utvidet
course content

Kursinnhold

Java Utvidet

Java Utvidet

1. Dyp Java-struktur
2. Metoder
3. Avansert Streng
4. Klasser
5. Avanserte Klasser

book
Getter og Setter

Den beste måten å omgå private tilgangsmodifikator

Alle Java-programmerere bruker konstruksjoner kalt gettere og settere.

Gettere og settere er metoder som følger et spesifikt mønster. De brukes til å omgå private tilgangsmodifikator og effektivt manipulere felt fra en annen klasse.

Hva gjør gettere og settere?

Enkelt sagt lar setteren oss tildele en verdi til et spesifikt felt beskyttet av private tilgangsmodifikator, mens getteren lar oss hente verdien fra et felt beskyttet av private tilgangsmodifikator.

Syntaksen for en getter og en setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Som du kan se i koden over, bruker vi navnekonvensjonen for metodene getFieldName() og setFieldName(). Derfor, hvis vi har et felt private String name og vi lager en getter og en setter med navnene getName() og setName(), henholdsvis. Det er også verdt å merke seg at getteren returnerer en verdi av samme type som name-feltet, mens setteren tar en parameter av samme type som name-feltet.

Dette lar oss få tilgang til felt som er beskyttet av private tilgangsmodifikator. La oss se på et eksempel på tilgang til et privat felt fra Person-klassen i main-klassen:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Som du kan se, bruker vi setter for å tildele en verdi til name-feltet, og deretter bruker vi getter for å vise verdien av name-feltet på skjermen. Vær oppmerksom på syntaksen til getter og setter, samt at name-feltet i Person-klassen er beskyttet av tilgangsmodifikatoren private.

Konstruktør vs Getter/Setter

Hva er best å bruke, initialisering gjennom en konstruktør + overstyring av toString()-metoden, eller bruk av gettere og settere?

Det er definitivt bedre å bruke gettere og settere for å få tilgang til felt som er beskyttet av tilgangsmodifikatoren private. Dette gir større fleksibilitet i koden og forbedrer lesbarheten. Når du ser bruk av getName()-metoden i koden, forstår du umiddelbart at denne metoden henter feltet med navnet name. Det samme gjelder når du ser bruk av setName()-metoden, du forstår umiddelbart at du tildeler en spesifikk verdi til feltet for objektet i klassen der det brukes. Hvis andre leser koden din, vil de sette pris på å se gettere og settere.

Det er også verdt å merke seg at hvert felt krever sin egen getter og setter. Hvis en klasse har to felt beskyttet av tilgangsmodifikatoren private, bør klassen ha én getter for hvert felt, altså to gettere og to settere. La oss se på et eksempel der vi legger til et age-felt i Person-klassen:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Som du kan se, har vi opprettet én getter og én setter for hvert felt i Person-klassen. I main-metoden initialiserte vi feltene ved hjelp av setteren og viste verdiene deres på skjermen ved hjelp av getteren. Å bruke disse metodene er svært praktisk, og du vil bruke dem ofte i fremtiden.

1. Hva er hensikten med å bruke getters og setters?

2. Hva er syntaksen for en getter-metode i Java?

3. Hva er syntaksen for en setter-metode i Java?

question mark

Hva er hensikten med å bruke getters og setters?

Select the correct answer

question mark

Hva er syntaksen for en getter-metode i Java?

Select the correct answer

question mark

Hva er syntaksen for en setter-metode i Java?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 5

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

course content

Kursinnhold

Java Utvidet

Java Utvidet

1. Dyp Java-struktur
2. Metoder
3. Avansert Streng
4. Klasser
5. Avanserte Klasser

book
Getter og Setter

Den beste måten å omgå private tilgangsmodifikator

Alle Java-programmerere bruker konstruksjoner kalt gettere og settere.

Gettere og settere er metoder som følger et spesifikt mønster. De brukes til å omgå private tilgangsmodifikator og effektivt manipulere felt fra en annen klasse.

Hva gjør gettere og settere?

Enkelt sagt lar setteren oss tildele en verdi til et spesifikt felt beskyttet av private tilgangsmodifikator, mens getteren lar oss hente verdien fra et felt beskyttet av private tilgangsmodifikator.

Syntaksen for en getter og en setter:

Main.java

Main.java

copy
123456789
// getter public fieldType getFieldName() { return field; } // setter public void setFieldName(fieldType field) { this.field = field; }

Som du kan se i koden over, bruker vi navnekonvensjonen for metodene getFieldName() og setFieldName(). Derfor, hvis vi har et felt private String name og vi lager en getter og en setter med navnene getName() og setName(), henholdsvis. Det er også verdt å merke seg at getteren returnerer en verdi av samme type som name-feltet, mens setteren tar en parameter av samme type som name-feltet.

Dette lar oss få tilgang til felt som er beskyttet av private tilgangsmodifikator. La oss se på et eksempel på tilgang til et privat felt fra Person-klassen i main-klassen:

Main.java

Main.java

copy
123456789101112131415161718192021
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); System.out.println(bob.getName()); } } class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

Som du kan se, bruker vi setter for å tildele en verdi til name-feltet, og deretter bruker vi getter for å vise verdien av name-feltet på skjermen. Vær oppmerksom på syntaksen til getter og setter, samt at name-feltet i Person-klassen er beskyttet av tilgangsmodifikatoren private.

Konstruktør vs Getter/Setter

Hva er best å bruke, initialisering gjennom en konstruktør + overstyring av toString()-metoden, eller bruk av gettere og settere?

Det er definitivt bedre å bruke gettere og settere for å få tilgang til felt som er beskyttet av tilgangsmodifikatoren private. Dette gir større fleksibilitet i koden og forbedrer lesbarheten. Når du ser bruk av getName()-metoden i koden, forstår du umiddelbart at denne metoden henter feltet med navnet name. Det samme gjelder når du ser bruk av setName()-metoden, du forstår umiddelbart at du tildeler en spesifikk verdi til feltet for objektet i klassen der det brukes. Hvis andre leser koden din, vil de sette pris på å se gettere og settere.

Det er også verdt å merke seg at hvert felt krever sin egen getter og setter. Hvis en klasse har to felt beskyttet av tilgangsmodifikatoren private, bør klassen ha én getter for hvert felt, altså to gettere og to settere. La oss se på et eksempel der vi legger til et age-felt i Person-klassen:

Main.java

Main.java

copy
12345678910111213141516171819202122232425262728293031
package com.example; public class Main { public static void main(String[] args) { Person bob = new Person(); bob.setName("Bob"); bob.setAge(27); System.out.println("Person's name: " + bob.getName() + ", Person's age: " + bob.getAge()); } } class Person { private String name; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } }

Som du kan se, har vi opprettet én getter og én setter for hvert felt i Person-klassen. I main-metoden initialiserte vi feltene ved hjelp av setteren og viste verdiene deres på skjermen ved hjelp av getteren. Å bruke disse metodene er svært praktisk, og du vil bruke dem ofte i fremtiden.

1. Hva er hensikten med å bruke getters og setters?

2. Hva er syntaksen for en getter-metode i Java?

3. Hva er syntaksen for en setter-metode i Java?

question mark

Hva er hensikten med å bruke getters og setters?

Select the correct answer

question mark

Hva er syntaksen for en getter-metode i Java?

Select the correct answer

question mark

Hva er syntaksen for en setter-metode i Java?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 5. Kapittel 5
some-alt