Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Aksessor- og Mutasormetoder | Oversikt Over Innkapsling
C++ OOP

bookAksessor- og Mutasormetoder

Innkapsling innebærer også å begrense direkte tilgang til noen av et objekts komponenter, og det er her aksessor- og mutasjonsfunksjoner kommer inn i bildet. Aksessor- og mutasjonsfunksjoner, mer kjent som gettere og settere, er public-metoder som gir kontrollert tilgang til klassens private datamedlemmer.

Aksessorfunksjoner (Gettere) er funksjoner som gjør det mulig å lese verdiene til private datamedlemmer uten å endre dem. De er avgjørende for å hente tilstanden til et objekt samtidig som datamedlemmene holdes skjult og beskyttet.

getter.h

getter.h

copy
123456
class Example { public: int get_member() { return member; } private: int member; };

Mutatorfunksjoner (settere) er funksjoner som muliggjør endring av verdiene til private datamedlemmer. De gir en kontrollert måte å endre tilstanden til et objekt på. Ved å bruke settere er det mulig å implementere valideringslogikk for å sikre at kun gyldige data tilordnes datamedlemmene.

setter.h

setter.h

copy
123456
class Example { public: void set_member(int value) { member = value; } private: int member; };

Hovedfunksjonen til gettere og settere er å håndtere tilgangen til en klasses medlemmer, og dermed minimere sannsynligheten for feil forårsaket av direkte manipulering. For eksempel gjør de det mulig å begrense tildelingen av altfor store verdier til visse egenskaper. Du kan begrense effekten til varmeapparatet med verdien 10; du kan ikke sette den høyere enn det.

main.cpp

main.cpp

copy
12345678910111213141516
#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
question mark

Hvilket alternativt navn brukes ofte for mutasjonsmetoder i programmering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4

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

Suggested prompts:

Can you give an example of how to implement getters and setters in code?

Why is it important to use getters and setters instead of accessing variables directly?

Can you explain how validation works in setters?

Awesome!

Completion rate improved to 3.13

bookAksessor- og Mutasormetoder

Sveip for å vise menyen

Innkapsling innebærer også å begrense direkte tilgang til noen av et objekts komponenter, og det er her aksessor- og mutasjonsfunksjoner kommer inn i bildet. Aksessor- og mutasjonsfunksjoner, mer kjent som gettere og settere, er public-metoder som gir kontrollert tilgang til klassens private datamedlemmer.

Aksessorfunksjoner (Gettere) er funksjoner som gjør det mulig å lese verdiene til private datamedlemmer uten å endre dem. De er avgjørende for å hente tilstanden til et objekt samtidig som datamedlemmene holdes skjult og beskyttet.

getter.h

getter.h

copy
123456
class Example { public: int get_member() { return member; } private: int member; };

Mutatorfunksjoner (settere) er funksjoner som muliggjør endring av verdiene til private datamedlemmer. De gir en kontrollert måte å endre tilstanden til et objekt på. Ved å bruke settere er det mulig å implementere valideringslogikk for å sikre at kun gyldige data tilordnes datamedlemmene.

setter.h

setter.h

copy
123456
class Example { public: void set_member(int value) { member = value; } private: int member; };

Hovedfunksjonen til gettere og settere er å håndtere tilgangen til en klasses medlemmer, og dermed minimere sannsynligheten for feil forårsaket av direkte manipulering. For eksempel gjør de det mulig å begrense tildelingen av altfor store verdier til visse egenskaper. Du kan begrense effekten til varmeapparatet med verdien 10; du kan ikke sette den høyere enn det.

main.cpp

main.cpp

copy
12345678910111213141516
#include <iostream> class Heater { public: void setPower(int value) { power = value > 10 ? 10: value; } int getPower() { return power; } private: int power; }; int main() { Heater heater; heater.setPower(7); std::cout << heater.getPower(); }
question mark

Hvilket alternativt navn brukes ofte for mutasjonsmetoder i programmering?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 4
some-alt