Java er et objekt -orienteret programmering ( OOP) sprog. Objekt-orienteret kode er organiseret ved hjælp af en konstruktion kaldes en " klasse ", der tjener som et oplæg til at skabe et "objekt ". Et objekt er en samling af egenskaber ( medlem variabler ) og adfærd ( metoder). Typisk medlem variabler er private og kan kun benyttes af objektet indeholder dem. "Get " og " sæt " metoder , også kaldet " getters " og " settere , " er særlige metoder , der interagerer med private medlem variabler. Funktion
Getters og settere , eller " accessor " metoder, giver adgang til et objekts egenskaber . En get-metoden returnerer værdien af en ejendom ejes af et objekt. En get metode har en returtype matcher typen af associeret medlem variabel. Få metoder typisk ikke tager nogen parametre . Et sæt metode har en " ugyldig " return type og tager en parameter af den rette type tildele til associeret medlem variabel.
Konventioner
accessor metoder anvendes af eksterne objekter , og dermed er anmeldt som "offentlige" ( eksternt synlige) metoder. Det accepterede konventionen er at navngive hente og sætte metoder til associeret medlem variabel ( for eksempel " getName " og " setNavn , " i forbindelse med variablen " name" ) , med præfikset "få" eller " set ". Ikke alle medlemslande variabler kan have tilknyttede accessor metoder. Disse metoder er skrevet kun for værdier , der skal tilgås eksternt.
Formål
Begrænsning af adgang til et objekts medlem variabler er en del af en praksis kaldet " indkapsling . " Indkapsling compartmentalizes dele af et objekt , skjule gennemførelsen ( interne arbejde ) i det objekt, der ikke behøver at være eksternt synlige, og beskytte interne data fra ukontrolleret modifikation. Accessor metoder kan udføre beregninger , validering, eller andre foranstaltninger , der ville være omgået ved at gøre medlem variabler direkte tilgængelige.
Fordele
Beskyttelse medlem variabler ved hjælp accessor metoder giver programmører til at let ændre den interne kode uden at ændre den måde klasse bruges af andre. Derved undgår kræver kodeændringer hele et program, når en enkelt klasse er ændret . Getters kan udføre beregninger og handlinger , der er nødvendige for at producere en værdi , minimere mængden af ekstern kode, der kræves for at bruge værdien . Settere kan udføre validering , forebygge fejl forårsaget af medlem variabler bliver sat til ugyldige værdier.
Overvejelser
Tilføjelse accessor metoder til en klasse bør ske konservativt. Eneste medlem variabler , der kræver ekstern adgang skal have accessor metoder. Egenskaber, der skal kun ændres af de interne arbejdsgange behøver ikke settere . Egenskaber der ikke har nogen ekstern relevans bør ikke have getters . Denne praksis minimerer eksponeringen af en genstands implementering og beskytter egenskaber fra ændring, der vil kunne indføre run- time fejl . Jo færre offentlige metoder der er, jo mere vedligeholdelsesvenlig koden vil være.