Articles

mi a mutátor módszer Java-ban?

Ismerje meg, mi a mutátor módszer java-ban, valamint a mutátorok és accessor módszerek használatának előnyeit. Minden magyarázat példákat tartalmaz a szemléltetéshez.

Card image cap

ebben a cikkben ismerje meg, mi a mutátor módszer Java accessor módszer. Ezenkívül meg fogja érteni a mutator és accessor módszerek használatának előnyeit, valamint néhány java példát.

a mutátor és accessor metódus fogalmak szorosan kapcsolódnak az objektumorientált programozáshoz és a kapszulázáshoz. Abban az esetben, ha nem ismeri az objektumorientált programozást. Az alábbiakban röviden bemutattam; azonban, ha további részleteket szeretne, nézd meg a dokumentációt.

Tartalomjegyzék

objektumorientált programozás Recap

az objektumorientált programozás azt jelenti, hogy a probléma entitásait osztályokként reprezentáló problémákat old meg. Egy osztálynak olyan állapota és módszerei vannak, ahol az állapot olyan változók halmaza, amelyek a reprezentációnkban szereplő releváns adatokat tartalmazzák. A módszerek pedig meghatározzák az osztályunk által végzett műveleteket.

például meghatározhatjuk az osztálykört:

public class Circle {private float radius; public Circle(float newRadius) { this.radius = newRadius; } public double area(){ return Math.PI * Math.pow(radius, 2); } }

Ez az osztály a kör fogalmát képviseli. A körosztályállapot sugara és a area() nevű módszer, amely a körterületet adja vissza.

a következő kódot adhatja hozzá a Circle osztályhoz, hogy tesztelje:

public static void main(String args){ Circle circle1 = new Circle(3); System.out.println(circle1.area()); }

kimenet:

28.274333882308138

Encapsulation Recap

objektumorientált programozással definiáltunk egy osztályt, és létrehoztuk a circle1Circleosztályt. Mi van, ha módosítani akartam az objektum sugarát circle1. Mivel a kód áll, nem tudom megváltoztatni, mivel nincs mód a radius változó elérésére. Csak annyit tehetek, hogy létrehozok egy új kör objektumot egy másik sugárral. Mit tehetek, hogy ezt kijavítsam?

két dolgot tehet; az egyik egy jól megtervezett osztályhoz vezet, a másik pedig egy szegényhez, amely kihívást jelent a tervezés fenntartására. Az egyik lehetőség a radius mező nyilvános mezőnek nyilvánítása, így az osztályon kívül is elérhető. Lásd az alábbi módosításokat:

public class Circle {public float radius; public Circle(float newRadius) { this.radius = newRadius; } public double area(){ return Math.PI * Math.pow(radius, 2); } public static void main(String args){ Circle circle1 = new Circle(3); System.out.println(circle1.radius); circle1.radius = 5; System.out.println(circle1.radius); } }

kimenet:

3.05.0

a másik lehetőség a radius mező eléréséhez és módosításához szükséges módszerek létrehozása, amelyek lehetővé teszik a végrehajtási részletek elrejtését. Ezt a mechanizmust kapszulázásnak is nevezik.

Mutator metódus definíció Java

a mutator metódus java-ban és bármely objektumorientált programozási nyelvben olyan módszer, amely lehetővé teszi az osztályon belüli változók megváltoztatását. A Privát a változók hozzáférési szintje, vagyis a változók megváltoztatásának egyetlen módja a mutátor módszerek használata. Így a mutátor módszerek képesek ellenőrizni az osztályba mentett adatok érvényességét és minőségét.

például az előző kódrészletben a setRadius() módszer mutátor módszer. Lehet módosítani ezt a módszert, hogy adjunk néhány adat érvényesítése. Például az adatok validálásának példája lehet annak ellenőrzése, hogy az új sugár negatív szám-e.

Accessor Módszer Meghatározása a Java

Accessor módszerek a módszerek, amelyek lehetővé teszik az olvasás az osztály mezők, hogy más módszereket vagy osztályok kívül az osztály. Így ellenőrizheti, hogy az ügyfélkód hogyan férhet hozzá az osztálymezőkhöz.

Mutátorok és Accessors példák

nézzünk néhány példát a mutátor és accessor módszerek illusztrálására. Setters and getters is another way of refering to accessor and mutator methods.

alább van egy példa arra, hogyan lehet gettereket hozzáadni egy osztályhoz. Az osztály neve Product, és két kapusa van: getPrice() és getName(). Ezek a módszerek lehetővé teszik, hogy bármely ügyfélkód hozzáférjen az osztályváltozóhoz, amely priceés name.

import java.math.BigDecimal;public class Product { private BigDecimal price; private String name;// getter or accessor methods public BigDecimal getPrice() { return price; } public String getName() { return name; }}

és most hozzáadom a mutátorokat, így elérhetem és módosíthatom az osztályváltozót.

import java.math.BigDecimal;public class Product { private BigDecimal price; private String name; public BigDecimal getPrice() { return price; } public String getName() { return name; } // mutator or setter methods public void setPrice(BigDecimal price) { if(price.compareTo(BigDecimal.ZERO)<0 )throw new IllegalArgumentException("Empty product name"); this.price = price; } public void setName(String name) { if(name.isEmpty()) throw new IllegalArgumentException("Empty product name"); this.name = name; }}

mint látható, a szetter módszerek setPrice() és setName() szintén tartalmazzák az érvényesítést, ügyelve arra, hogy az átadott adatok megfeleljenek bizonyos kritériumoknak. Például az egyik követelmény az, hogy az árnak mindig nulla felett kell lennie. Abban az esetben, ha a paraméter nem érvényes, a kód kivételt dob. Ellenkező esetben hozzárendeli az új értéket.

elnevezési konvenciók Mutátorok

java, a nevét ezen módszerek, accessors, és mutátorok követnie kell a konkrét elnevezési konvenciók. Ezek a szabályok teljesen stabilizálódtak,ami elengedhetetlenné teszi őket. Ha nem követed ezeket a konvenciókat, az frusztrációt és zavart okozhat, ha mások olvassák a kódodat.

kezdjük a mutátorok elnevezési konvencióival. A módszert nyilvánosnak kell nyilvánítani, és érvénytelennek kell nyilvánítani. Ezenkívül a módszer nevének a set szóval kell kezdődnie kisbetűvel. Ezt követi az osztályváltozó neve egy kezdeti nagybetűvel. Például, ha osztályunkban van egy age nevű változó, akkor a mutátor módszernek a következőképpen kell kinéznie:

public void setAge(int age){...}

névadó konvenciók Accessors

együtt mutátorok, láttuk a accessors, amely szintén követi a hasonló elnevezési egyezmény. A szabályok szerint a módszert nyilvánosnak kell nyilvánítani. Továbbá, a módszer neve kell kezdeni get, majd az osztály változó nevét egy kezdő nagybetűvel. A metódusnak nincsenek paraméterei, és visszaadja a példány változó típusát. Az előző példát követve hozzunk létre egy accessor módszert a age változóhoz:

public int getAge(){...}

A Mutátorok és Accessorok előnyei

eddig láttuk a accessor és mutator módszereket java-ban néhány példával. Ismerkedjen meg azokkal az elnevezési konvenciókkal, amelyeket be kell tartania ezeknek a módszereknek a deklarálásakor. Hogyan hasznosak ezek a módszerek? A fő előny a kapszulázás. Ez alapvetően azt jelenti, hogy ezeknek a módszereknek a létrehozásával elrejti az osztály belső részleteit más összetevőkből. Más komponensek csak az API-n keresztül kommunikálhatnak.

következésképpen az osztályokat elválasztják; nem mindegyiktől függnek, ami lehetővé teszi, hogy elszigetelten fejlődj, ami gyorsabb fejleményekhez vezet, mivel a csapattagok párhuzamosan különböző osztályokat és komponenseket hozhatnak létre. A karbantartás megkönnyítése mellett, mivel az alkatrészek módosíthatók, kis hatással más eltartott alkatrészekre.

következtetés

összefoglalni, ebben a cikkben, láttuk, hogy mutator módszerek accessors módszerek java olyan módszerek, amelyek lehetővé teszik számunkra, hogy olvasni és írni osztályváltozók. Elsődleges céljuk, hogy olyan osztályokat tervezzünk, amelyek jól be vannak ágyazva és egymástól függetlenek.

remélem, hasznosnak találja a cikket, és nagyon köszönöm, hogy elolvasta és támogatta ezt a blogot! Boldog kódolás!