Accessors kaj Mutators en Java- Kiel ĝi laboras?

Accessor & Mutator

Accessor & Mutator

Superrigardo: In this article we will discuss about java accessors. Accessors are basically member functions which are used to access and manipulate field values. We will also discuss the advantages and disadvantages of using accessors in java application.








Enkonduko: Accessors in java makes it more robust and modular. The concept is simple but very powerful for any application development. As we know that accessors are basically member functions which are used to access and modify field values. At the same time accessors add a second layer on top of the field variables so it is a little overhead. But it helps to hide the implementation details of the classes and its components. So the flexibility is increased manifold and the design is also more efficient. Java accessor eniras du gustojn, setter kaj getter. Setter estas uzita fiksi kampan valoron kaj getter estas uzita akiri la kampan valoron.

Alia grava flanko estas la videbleco de accessors. Accessors povas havi malsamajn tipojn de videbleco bazita sur la aliro specifier aldonis ilin. Do ĝi ankaŭ helpas la aplikon fiksi malsaman nivelon de aliro kiel por la postulo de la apliko. Kiel accessors estas simpla java membraj funkcioj do ĝi estas grava asigni konvenan videblecon en efika vojo kiu plibonigos la desegnon sur la apliko ĝenerale. Estas plejparte kvar niveloj de videbleco havebla kiel publiko, Protektita, Privata, Kaj defaŭlta kaj ili estas havanta malsaman celon.

Avantaĝoj de accessors: Ni jam diskutis la celon de accessors en java apliko. Nun ni diskutos en detaloj pri la avantaĝoj de accessors.

  • Ununura punkto de kontakto: Accessor provizas ununuran punkton de kontakto por ĉiu eco en la apliko. Ĝi helpas modifi kaj elprovi la nemoveblaĵon pli efike. De objekto oriented punkto de vido, La aplikaj ecoj estas personigita.
  • Maldiligenta initialization: La maldiligenta initialization estas grava koncepto en java apliko. La koncepto estas ŝarĝi la datumon kiam ĝi estas unue alirita. Tiel ekzemple, Via apliko povus esti flua sed vi ne devas iun apartan ecan valoron. En ĉi tiu situacio loĝanta la ecan valoron ne tenas ajnan signifon kaj ĝin ne estos uzita en la apliko. Sed ĉi tiuj volas nenecesan tenadon la memoro. Sekve se ni aplikas maldiligentan initialization tekniko tiam ni estas nur ŝarĝanta la datumon kiam ĝi estas unue alirita. De uzanta la accessors, Ni povas kontroli maldiligentan initialization efike kaj tial faras la aplikon pli efika. La malavantaĝo estas, Via apliko fariĝas kompleksa ĉar vi devas kontroli se la eco tenas ajnan valoron aŭ ne kaj tiam akiri ĝian valoron. Maldiligenta initialization estas helpema kiam estas iu altekosta kalkulo postulita loĝi la econ. Sed denove la tuta elekto dependas al la postulo de la apliko.
  • Kompleta kontrolo: La ellaboranto havas la kompletan kontrolon super la aplikaj ecoj. Do la aliro al ĉi tiuj ecoj povas esti ŝanĝita ĉe ajna punkto de tempo dependanta al la postulo. Alira kontrolo ankaŭ helpoj en la desegno de la apliko.
  • Facila modifaĵo al komercaj reguloj: Se estas postulo ŝanĝi la komercan regulon tiam accessors estas tre helpema. Kiel accessors estas personiganta la ecojn, ajna ŝanĝo aŭ modifaĵo al ĉi tiuj ecoj ne havas ajnan efikon al la kriadaj funkcioj. Do la novaj komercaj reguloj povas esti efektivigita facile sen influanta la rilatajn erojn. La accessors faras ĝin pli fleksebla.
  • Redukti kuplanta aferon: En normala efektiviga kuplado inter ekstra klaso kaj sub klaso estas grava afero. Se vi ŝanĝas ion ajn en la ekstra klaso tiam ĝi havas rektan efikon sur la sub klaso. Sed se la sub klaso aliras la ecojn de uzanta la accessor metodoj tiam ajnaj ŝanĝoj al la efektivigo de ekstra klasa eco faras ne efikon la sub klaso. Do la kuplada afero estas reduktita kaj tial pliigas la flekseblecon de la aplika desegno.
  • Enkapsuligo de validumada logiko: Iu tempo ni havas postulon elfari iun validumadon antaŭ ol ni ĝisdatigas aŭ savi la datumon. Sekve unu el la plej bonaj lokoj meti ĉi tiun validumadan logikon estas en accessor metodo (Pli specife setter metodo). Ni ankaŭ povas utiligi aliran modifilon kune kun accessor metodoj meti kelkaj restriktita aliron kaj kontroli la validumadan logikon.
  • Venki nomon kaŝanta aferon: Ni havas oftan praktikon doni la lokan variables sama nomo kiel la ecoj. Tio ĉi solvas problemon de malsama noma konflikto. Sed uzanta accessors mildigas ĉi tiun aferon kiel ni ne havas ajnan ŝancon aliri la ecojn rekte. Do kio iam ajn esti la nomo de la loka varia ni ne devas maltrankvili pri ĝi. La accessors fiksos ĝin aŭtomate.
  • Felo malfaras kaj renovigi logikon: Se via apliko havas postulon ŝanĝi la valoron de iu eco kaj tiam revena malantaŭa al la malnova valoro tiam uzanta accessors estas tre helpema.
  • Uzo de getter accessor por konstantoj: En normala java programaro, Ajna konstanto estas difinita kiel senmova finalo. Kaj tiam ĝi estas uzita en la aplika kodo kiel konstanto. Sed la malavantaĝo estas tio, Se la valoro de konstantaj ŝanĝoj tiam vi devas ŝanĝi ĝin en ĉiu linio kie iam ajn ĝi estas uzita. Do la tradicia alproksimiĝo estas bone en lokoj kie estas neniu ŝanco ŝanĝi la valoron de konstanto. Sed se la konstanta valoro dependas sur iu kalkulo aŭ komerca logiko tiam la pli bona vojo estas uzi senmovan getter aliri ĝin. Do aplikanta enkapsuligon por konstanta valoro en senmova getter metodo donas pli fortika solvo kaj la desegno estas ankaŭ pli modular kaj loosely kuplita. La avantaĝo estas ke vi ne devas ŝanĝi ĝin en ĉiu linio sed nur en la getter metodo. Kaj ĝi ankaŭ sekvas la objekton oriented regulo de informa kaŝo. Do tio ĉi estas nova vojo uzi accessors kiel getter metodo kiu donas multan flekseblecon al la aplika evoluado. Kaj en ĉi tiu scenaro vi ne devas ŝanĝi la setter metodo.









Sekvanta estas ekzemplo de java accessors. The code has implemented a bulk setter method to improve the performance of the accessor implementation.

Enlistiganta 1: The sample is showing a bulk accessors implementation

[Kodo]

/* JavaAccessors.java

* Thsis is an example of bulk setter and a singe getter method.

*/

/**

* @author Kaushik Pal

*/

public class JavaAccessors {

// Local variables

Ŝnura nomo;

Ŝnura adreso;

String age;

String totalstring;

/** Creates a new instance of JavaAccessors */

public JavaAccessors() {

}

/**

* Returns the consolidated string value.

*/

public String getTitle()

{

Se ( Nomo != Null && address != Null && Aĝo!=null) {

// Build the total string

totalstring =Name is :”+name+Address is :”+address+Age is :”+Aĝo;

}

return this.totalstring;

}

/**

* This is a bulk setter

* Sets the name, address and age

* @param name, address, Aĝo

*

**/

private void setTitle(Ŝnura nomo,Ŝnura adreso,String age)

{

Tio ĉi.Noma = nomo;

Tio ĉi.Adresa = adreso;

this.age = age;

}

Publika senmova malplena ĉefa(Ŝnuro[]Args)

{

// Create new instance

JavaAccessors jvaccessor = new JavaAccessors();

// Use bulk setter

jvaccessor.setTitle(“Jhon”,”Usono”,”32″);

// Get the consolidated output

String newname = jvaccessor.getTitle();

Sistemo.Ekstere.Println(“New string value is :”+ newname);

}

}

[/Kodo]

When not to use accessors: We have already discussed the areas where accessors can be implemented. We have also explained that correct implementation of accessors make the application more robust, flexible and maintainable. Now we will discuss some areas where accessor is not a best fit. En iu apliko, execution time is of highest importance and there usage of accessor might make the process slow and poor response time. But this scenario is rare and if arises then we should think of some alternative solution. The other way of making accessor efficient is to use bulk accessor. Bulk accessor can be defined as an accessor which works on multiple attributes rather one at a time. Do la avantaĝo estas ke la laboro estas elfarita en unu pafis komparita al vokanta pluraj accessors kaj akiri/fiksita ecajn valorojn. Kaj alia grava punkto estas ke la accessors ne estas nepre devi fari publikan. Iu tempo ni ankaŭ povas fari ĝin privata aŭ protektita se postulita.

Sekvanta estas kelkaj reguloj esti sekvita kiam konsideranta la aliron al la accessors

  • Ĉiam provi teni la accessors protektis. Ĝi nur faros ĝin videbla en sub klasoj
  • Se subklaso ne devas aliri la ecojn tiam fari accessors privata
  • Se kelkaj eksteraj klasoj devas aliri ecojn tiam nura uza publiko

Konkludo: En ĉi tiu artikolo ni enkondukis java accesors kaj ilia efektivigo. Ni ankaŭ diskutis pri la robustness kaj fleksebleco de java apliko dum uzanta accessors. Sed iu tempo ĝi povus esti supre kiam iu kompleksa kalkulo estas elfarita kaj apliko devas rapidan respondan tempon. Do ni povas konkludi ke la accessors estas potenca ĉefaĵo en java sed ĝia efektivigo devus esti farita zorgeme.







Etikedita sur: , ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share