I C#-programmering er egenskaper et stort tema, ettersom de gir en effektiv måte å administrere tilgangen til egenskapene til et objekt. I de følgende avsnittene vil jeg vise deg hvordan du bruker Get- og Set-egenskaper for å kontrollere tilgangen til data innen klasser, og dermed øke sikkerheten.
Viktigste funn
- Egenskaper muliggjør kontrollert tilgang til medlemvariabler i en klasse.
- Get-egenskaper brukes til å lese, mens Set-egenskaper brukes til å skrive verdier.
- Tilgang til egenskaper bør ikke gjøres direkte gjennom offentlige medlemvariabler, men gjennom egenskaper for å opprettholde prinsippet om innkapsling.
Trinn-for-trinn-guide for bruk av egenskaper
1. Grunnleggende forståelse av egenskaper
Egenskaper i C# skiller seg fra klassiske medlemvariabler, da de gir en kontrollert form for tilgang. Du har muligheten til å definere Gettere (get) og Settere (set). Disse sørger for at det enten bare kan leses eller også skrives. Dette gir bedre innkapsling av data.

2. Lage et nytt eksempel
La oss lage et eksempel med en bil som har egenskaper som registreringsnummer, merke, tankstørrelse og drivstoffmengde. Disse egenskapene defineres gjennom egenskaper i vår klasse. Først må du spesifisere egenskapene i klassen.
3. Lage en konstruktør
Lag en konstruktør for å sette egenskapene til en ny bil når objektet opprettes. I dette tilfellet bør konstruktøren ta parametere for registreringsnummer, merke, tankstørrelse og drivstoffmengde. Her bruker du nøkkelordet this for å referere til instansvariablene.
4. Utvikle tankingsmetode
Nå skal vi lage en metode som gjør det mulig å tanke bilen. Denne metoden må sørge for at summen av den nåværende drivstoffmengden og de tankede literne ikke overskrider tankstørrelsen. Lag en feilmelding som informerer brukeren dersom tanken er for liten.
5. Opprette et bilobjekt
Opprett nå et nytt bilobjekt i hovedklassen din. For eksempel kan du bruke Opel som modell og sette de ulike parameterne som vi tidligere har definert i konstruktøren vår.
6. Kalle på tanking og sjekke
Etter at bilobjektet er opprettet, test tankingsmetoden. La brukeren angi en liter mengde og sjekk om alt fungerer som det skal. I konsollen bør du se hvor mange liter som nå er i tanken.
7. Implementere Get-egenskaper
Nå ønsker du å lage en Get-egenskap for drivstoffmengden. Denne egenskapen skal returnere den nåværende drivstoffmengden. Pass på at du skriver navnet med PascalCase og får tilgang til variabelen korrekt.
8. Legge til Set-egenskaper
Utvid klassen din med Set-egenskaper, slik at brukeren kan endre drivstoffmengden. Pass på at det også her skjer en validering for å sikre at verdien ikke overskrider tankstørrelsen.
9. Teste Set-egenskapen
Gå tilbake til hovedklassen og gjennomfør en test ved å sette drivstoffmengden. Sjekk den nye verdien i utdataene.
10. Justere registreringsnummer og andre egenskaper
Lag også Get- og Set-egenskaper for andre egenskaper som registreringsnummer. Her ville en enklere implementering være tilstrekkelig, da det krever lite logikk.
11. Gjennomgå og sjekk koden
Se over hele koden og sørg for at alle funksjoner fungerer som ønsket. Test utdataene både for Get- og Set-egenskaper for å sikre at verdiene settes og returneres korrekt.
Oppsummering - C#-programmering: Egenskaper og deres anvendelse
Egenskaper kan være veldig nyttige i C# for å sikre integriteten til dataene innen klasser. Ved målrettet bruk av Get- og Set-egenskaper beholder du kontrollen over tilgangen og modifikasjonen av medlemvariabler. Eksemplet med bilen viser hvordan man praktisk anvender disse konseptene.
Vanlige spørsmål
Hvordan definerer jeg en egenskap i C#?En egenskap defineres med nøkkelordet "public" etterfulgt av returtypen og inneholder minst en get- eller set-blokk.
Hvorfor er egenskaper bedre enn offentlige variabler?Egenskaper gir bedre innkapsling og muliggjør validering ved Gettere og Settere, noe som opprettholder dataintegriteten.
Kan jeg kombinere flere egenskaper i en egenskap?Nei, en egenskap representerer vanligvis en enkelt egenskap. For flere verdier bør du bruke metoder.
Hvordan tester jeg funksjonaliteten til egenskapene mine?Lag testobjekter og kall på egenskapene i hovedklassen din for å verifisere verdiene deres.