Get og Set metode i Java

Get og Set metode i Java


Java er et objektorientert programmering (OOP) språk. Objektorientert kode er organisert ved hjelp av en konstruksjon som kalles en "klasse", som fungerer som en blåkopi for å skape et "objekt". Et objekt er en samling av egenskaper (medlems variabler) og atferd (metoder). Vanligvis medlem variabler er private, og kan nås bare av objektet som inneholder dem. "Get" og "set" metoder, også kalt "getter" og "setters", er spesielle metoder som samhandler med private medlem variabler.

Funksjon

Getters og settere, eller "aksessor" metoder, gir tilgang til egenskapene til et objekt. En get metoden returnerer verdien av en eiendom holdt av et objekt. En get metoden har en returtype samsvarer med typen tilhørende medlem variabel. Få metoder vanligvis ikke tar noen parametere. Et sett metoden har et "tomrom" retur-type og tar en parameter av riktig type tilordne assosiert medlem variabel.

konvensjoner

Tilgangsmetoder brukes av eksterne objekter, og dermed blir erklært som "offentlig" (eksternt synlig) metoder. Den aksepterte konvensjonen er å navngi få og sette metoder for forbundet medlem variabel (for eksempel "getName" og "setName," assosiert med variabelen "navn"), med forstavelsen "få" eller "set". Ikke alle medlemsvariabler kan ha tilknyttet tilgangsmetoder. Disse metodene er skrevet kun for verdier som må nås eksternt.

Hensikt

Begrense tilgang til et objekts medlem variabler er en del av en praksis som kalles "innkapsling". Innkapsling compartmentalizes komponentene i et objekt, gjemmer gjennomføringen (innvendige) av objektet som ikke trenger å være synlige eksternt, og beskytte interne data fra ukontrollert modifisering. Tilgangsmetoder kan utføre beregninger, validering, eller andre tiltak som ville bli forbigått ved å gjøre medlem variabler direkte tilgjengelig.

fordeler

Beskytte medlem variabler ved hjelp av tilgangsmetoder lar programmerere å enkelt endre interne koden uten å endre måten den klassen brukes av andre. Dette unngår krever kodeendringer gjennom et program når en enkelt klasse er endret. Getters kan utføre beregninger og handlinger som kreves for å produsere en verdi, noe som reduserer mengden av ekstern kode som kreves for å bruke verdien. Settere kan utføre validering, forebygge feil forårsaket av medlem variabler blir satt til ugyldige verdier.

betraktninger

Legge til tilgangsmetodene til en klasse bør gjøres konservativt. Bare medlem variabler som krever ekstern tilgang skal ha tilgangsmetoder. Egenskaper som bør bare endres av internt arbeid trenger ikke settere. Egenskaper som ikke har noen ekstern relevans bør ikke ha getters. Denne praksisen reduserer eksponering av et objekt implementering, og beskytter eiendommer fra modifikasjon som kan introdusere run-time feil. Jo færre offentlige metoder det er, jo mer vedlikeholdsvennlig koden være.