Metoda ndryshuese
Në shkenca kompjuterike metoda ndryshuese paraqet metodën që shfrytëzohet për kontrollimin e ndryshimeve që bëhen ndaj një variable. Kjo metodë shfrytëzohet më së shumti në programimin e orientuar në objekte për shkaqe të përshtatjes ndaj konceptit të kapsulimit. Në bazë të këtij koncepti, variablat e një klase janë të definuara si private me ç'rast bëhen të fshehura nga kodi që gjendet jashtë klasës. Ndryshimi i vlerës të këtyre variablave mund të bëhet vetëm me anë të metodave publike të klasës (metodave ndryshuese) të cilat e marrin vlerën e dëshiruar si parametër, dhe po nëse është nevoja, e bëjnë vlerësimin shtesë për të parë se a është vlera e përshtatshme. Në anën tjetër metoda qasëse shfrytëzohet për leximin e vlerës nga variabla private[1].
Shembulli në Java
Në shembullin vijues nga gjuha programuese Java, shihet klasa Person
për paraqitjen e një personi i cili ka variablat private për emër (private String emri
) dhe për moshë (private int mosha
):
/** * Person.java */public class Person { private String emri; private int mosha; /** * Metoda qasëse për emër */ public String merrEmrin() { return emri; } /** * Metoda ndryshuese për emër */ public void ndryshoEmrin( String emriDhene ) { emri = emriDhene; } /** * Metoda qasëse për moshë */ public int merrMoshen() { return mosha; } /** * Metoda ndryshuese për moshë me vlerësim shtesë */ public void ndryshoMoshen( int moshaDhene ) { if( moshaDhene <= 0 ) { System.err.println( "Mosha nuk mund të jetë zero, ose të ketë vlerë negative!" ); } else { mosha = moshaDhene; } } }
Efikasiteti i kapsulimit në klasën e sipërme mund të vërehet duke e shfrytëzuar klasën vijuese:
/** * PersonTest.java */ public class PersonTest { public static void main( String[] args ) {Person person = new Person();person.ndryshoEmrin( "Filan Fisteku" );person.ndryshoMoshen( 30 );System.out.println( "Emri: " + person.merrEmrin() );System.out.println( "Mosha: " + person.merrMoshen() );person.ndryshoMoshen( -1 ); }}
Pra, metoda ndryshuese nuk do të lejoj vendosjen e vlerës zero ose asaj negative në variablën mosha
. Në mungesë të metodave qasëse dhe ndryshuese, dhe rrjedhimisht në mungesë të kapsulimit, programorët do ta kishin mundësinë që ta ndryshojnë moshën direkt me anë të rreshtit person.mosha = -1
që do t'ishte rezultat i padëshiruar.