Java är ett objektorienterad programmering ( OOP ) språk . Objektorienterad kod är organiserad med hjälp av en konstruktion som kallas en " klass ", som fungerar som en mall för att skapa ett " objekt . " Ett objekt är en samling av fastigheter ( medlemsvariabler ) och beteenden ( metoder ) . Typiskt medlemsvariabler är privat och kan endast nås med objekt som innehåller dem . " Get " och "set" metoder , som också kallas " getters " och " setter , " är speciella metoder som interagerar med privata medlemsvariabler . Funktion
get-och set , eller " accessor " metoder , ge tillgång till ett objekts egenskaper . En get metod returnerar värdet av en fastighet som innehas av ett objekt . En get metod har en returtyp matchar den typ av associerad medlem variabeln . Få metoder vanligtvis inte tar några parametrar . En uppsättning metod har ett " tomrum " returtyp och tar en parameter av lämplig typ för att tilldela associerad medlem variabeln .
Konventioner
Accessor metoder används av yttre föremål , och därmed deklareras som "offentliga " ( externt synliga ) metoder . Den accepterade konvention är att namnge get-och set metoder för associerad medlem variabeln ( t.ex. " getName " och " setName , " associeras med variabeln "name " ) , med prefixet " får " eller " set ". Inte alla medlemsländer variabler kan ha samband Åtkomstmetoder . Dessa metoder är skrivna enbart för värden som måste nås externt . Är en del av en praxis som kallas
Syfte
Begränsa åtkomst till ett objekts medlemsvariabler " inkapsling. " Inkapsling compartmentalizes komponenterna i ett objekt , dölja genomförande ( interna arbete ) av objektet som inte behöver vara yttre synliga , och skydda intern data från okontrollerad modifiering . Åtkomstmetoder kan utföra beräkningar , validering, eller andra åtgärder som skulle kringgås genom att medlemsvariabler direkt tillgängliga .
Fördelar
Skydd medlemsvariabler använder Åtkomstmetoder tillåter programmerare att enkelt ändra den interna koden utan att ändra det sätt på vilket klassen används av andra. Detta undviker kräver kod förändringar under ett program när en enda klass ändras . Getter kan utföra beräkningar och åtgärder som krävs för att producera ett värde , minimera mängden av extern kod krävs för att använda värdet . Normgivare kan utföra valideringen , förebygga fel som orsakas av medlemsvariabler vara inställd till ogiltiga värden .
Överväganden
Lägga Åtkomstmetoder till en klass bör göras försiktigt . Bara medlemsvariabler som kräver extern åtkomst bör ha Åtkomstmetoder . Egenskaper som endast bör ändras genom de interna arbete behöver inte setter . Egenskaper som inte har några externa relevans bör inte ha getters . Denna praxis minimerar exponering av ett objekts genomförande , och skyddar fastigheter från ändring som skulle kunna införa run - time fel . Ju färre offentliga metoder det finns, desto mer att underhålla koden kommer att bli .