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

Redakto

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.

Referimet

Redakto
  1. ^ Katherine Sierra; Bert Bates (2008-06-24). "Chapter 2: Object Orientation". SCJP Sun Certified Programmer for Java 6 Exam 310-065. McGraw-Hill Osborne Media. fq. 86–89. ISBN 0-0715-9106-0. {{cite book}}: Mungon ose është bosh parametri |language= (Ndihmë!) - Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{in lang|en}} instead.